Linux常用命令

使用提示

tab键命令行自动补全
上下键可以把过去执行过的命令显示出来

Linux常用命令的简单说明

一般来说著名的linux系统基本上分两大类:

RedHat系列:Redhat、Centos、Fedora等
Debian系列:Debian、Ubuntu等

RedHat 系列

常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
包管理工具 yum
支持tar包

Debian系列

常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
包管理工具 apt-get
支持tar包


yum可以用于运作rpm包,例如在Fedora系统上对某个软件的管理:
yum [options] [command] [package …]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名

安装:yum install 包名
卸载:yum remove 包名
更新:yum update 包名
查找:yum search 包名

apt-get可以用于运作deb包,例如在Ubuntu系统上对某个软件的管理:
安装:apt-get install
卸载:apt-get remove
更新:apt-get update

wget不是安装方式,它是一种下载工具,类似于迅雷。
通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理,
名字是World Wide Web”与“get”的结合。如果要下载一个软件,可以直接运行:

wget 下载地址
如果当前ubuntu未安装wget,可按下列操作进行安装和检查是否安装成功:
sudo apt-get update
sudo apt-get install wget
wget --version

ln 命令
命令格式:
ln [参数] [源文件或目录] [目标文件或目录]

参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

示例:
建立软连接
ln -s /root/mysql /usr/local/mysql

文件和目录操作命令

Pwd命令:
用于显示当前操作的路径位置(当前工作文件夹)

ls命令:
格式:
ls【选项】 【文件或文件夹名】

常用选项:
-l 列表显示文件的详细信息
-a 显示全部文件/文件夹(包含,开头的文件)

作用:
用于显示指定目录的文件或文件夹信息

linux下的路径

路径 path
路径是用来记录一个文件或文件夹位置的字符串
例如:
/home/tarena
/home/tarena/aid1808/linux/day01

Linux路径分为两种:
1.绝对路径
2.相对路径

绝对路径:
以‘/’字符开头的路径为绝对路径

相对路径:
不以‘/’来头的路径为相对路径
开始符号有:
文件/文件夹名
.当前文件夹
..上一级文件夹
~用户住目录

cd命令

作用:
改变当前工作路径
格式:
cd【目录名】
示例:
cd /home
cd /
cd # 默认不辞而目录名相当于 cd ~
cd … # 去上一级目录
cd ~ #返回用户主目录(也叫夹目录)

mkdir 命令

创建一个文件夹或多分文件夹
格式:
mkdir 文件夹名1 文件夹名2
如:
mkdir aaaa bbbb cccc
常用选项:
-p  如果是中间文件夹不存在,则创建所有中间文件夹

rmdir 命令

删除一个或多个空的文件夹
格式:
rmdir 文件夹1 文件夹2 …

touch命令

作用:
创建文件或更新文件的修改时间
如:
touch a.txt
touch b.txt c.txt
touch a.txt

rm 命令

删除文件或文件夹
格式:
rm 【选项】文件/文件夹

常用选项:
-r 递归删除文件夹内部的文件夹和文件
-i 删除前给除提示(y代表yes,n代表no)
-f 强制删除,不给提示

文件管理相关的命令

cp命令

cp 【选项】 元文件或文件夹名 目标文件或文件夹名
作用:
复制文件或文件夹
示例:
cp day01.txt ~/桌面/
cp day01.txt `/day01bak.txt
常用选项:
-a 可以复制文件夹

mv 命令

作用:
文件移位置 或 更名
格式:
mv 源文件或文件夹名 目标文件或文件夹名

find 命令

作用:
根据文件名等信息查找指定文件
格式:
find 路径 -name “文件名”
如:
find /etc -name “passwd”

grep 命令

作用: 
查找文件中相应的内容,几文本信息
格式:
grep “内容”【选项】文件名或路径
常用选项:
-n 显示行号
-r  递归搜索文件夹内的文件

gzip命令

用zip压缩算法对文件进行压缩,生成压缩后的文件
后缀名通常用 .gz结尾
命令格式:
gzip 文件名
gunzip 命令
对用zip 压缩算法夺压缩的.gz格式的数据进行压缩
示例:
gzip day01.txt
gunzip day01.txt .gz

打包,解包的命令

tar命令

作用:
对文件或文件夹进行打包和解包操作

格式:
            tar【选项】文件名或路径
        常用选项:
            -c           创建包
            -x           解包
            -f 文件名    操作的文件
            -v        显示操作的文件细节
            -z        用gzip/gunzip对进行压缩或解压缩
        示例:
            tar -czvf ~/day01.tar.gz *     #打包
            tar -xzvf ~/day01.tar.gz     #解包到当前目录

sudo 命令格式

作用:
用超级用户root 权限来执行这个命令
格式:
sudo  命令【选项】【参数】
常用选项:
-i 选项 切换到root用户
如:
# sudo -i #进入root 用户

通配符

* 代表0分,1个或多个任意字符
? 代表1个任意字符

help 选项

用于显示命令的帮助信息
示例:
ls–help

man 命令帮助

格式:
man linux/Unix 命令
示例:
man ls
退出键:q

防火墙相关命令

启动: systemctl start firewalld

查看状态: systemctl status firewalld

停止: systemctl disable firewalld

禁用: systemctl stop firewalld

进程管理相关命令

ps 命令

用于显示当前进程的状态

格式:
    ps 选项

选项:
    -A     列出所有的进程
    -au     显示较详细的资讯
    -aux     显示所有包含其他使用者的行程
    -w     显示加宽可以显示较多的资讯
    -u 用户名     显示指定用户的进程信息(如:-u root 显示用户root的进程信息)
    -ef     显示所有进程信息,连同命令行

示例:
    ps -A

查找指定进程
格式:
    ps -ef | grep 进程关键字

示例:
    显示 python 的进程
    ps -ef | grep python
kill命令

发送指定的信号到相应进程。
不指定型号将发送SIGTERM(15)终止指定进程。
如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。
root用户将影响用户的进程,非root用户只能影响自己的进程。

格式:
    kill 选项/信号 进程号

选项:
    -l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
    -a  当处理当前进程时,不限制命令名和进程号的对应关系
    -p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
    -s  指定发送信号
    -u  指定用户 

常用信号:
    -HUP     -1     终端断线
    -INT      -2     中断(同 Ctrl + C)
    -QUIT     -3     退出(同 Ctrl + \)
    -TERM    -15     终止
    -KILL     -9     强制终止
    -CONT    -18     继续(与STOP相反, fg/bg命令)
    -STOP     -19     暂停(同 Ctrl + Z)

示例:
    kill -9 6500

rz命令

从当前系统传输文件到linux系统当中。
通过命令输入,弹出文件传输文件选择窗口,选择文件、目录,完成操作。

安装:yum install lrzsz

screen命令

同时开启多视窗的功能

安装:
    yum install screen
    rpm -qa|grep screen     验证是否安装

查看当前存在视窗:
    screen -ls
    screen -list

创建新视窗:
    screen -S 名称

进入现存视窗:
    screen -r 名称

强制进入现存视窗:
    screen -D  -r 名称

退出当前已进入的视窗:
    Ctrl + A + D

关闭运行中的视窗:
    screen -X -S 名称 quit

python命令

导出当前python环境包
    pip3 freeze > 文件名(.txt)

通过文件(.txt)安装
	pip3 install 文件名(.txt)

查看内/外网IP:

内网
ifconfig

外网
curl ifconfig.me

lsof命令

列出当前系统打开文件的工具

格式:
    lsof 参数 目标名称

常用参数:
    -a      表示两个参数都必须满足时才显示
    -c      显示COMMAND列中包含指定字符的进程,所有打开的文件
    -u      显示所属用户进程打开的文件
    -g      显示归属gid的进程情况
    +d      显示目录下被进程打开的文件
    +D      显示目录下被进程打开的文件,另外会搜索目录下的所有目录(时间相对较长)
    -d      显示指定文件描述符的进程
    -i      用于显示复合条件的进程情况

输出各列信息的含义:
    COMMAND:进程的名称
    PID:进程标识符
    USER:进程所有者
    FD:文件描述符,应用程序通过文件描述符识别该文件(如:cwd、txt等)
    TYPE:文件类型(如:DIR、REG等)
    DEVICE:指定磁盘的名称
    SIZE:文件的大小
    NODE:索引节点(文件在磁盘上的标识)
    NAME:打开文件的确切名称

示例:
    查看8005端口的进程情况
    lsof -i :8005

    显示打开xxx的所有进程
    lsof xxx

    显示用户root的进程信息
    lsof -u root

chmod命令

用于权限控制

符号模式

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明。

who 的符号模式表

who

用户类型

说明

u

user

文件所有者

g

group

文件所有者所在组

o

others

所有其他用户

a

all

所用用户, 相当于 ugo

operator 的符号模式表

Operator

说明

+

为指定的用户类型增加权限

-

去除指定用户类型的权限

=

设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission 的符号模式表

模式

名字

说明

r


设置为可读权限

w


设置为可写权限

x

执行权限

设置为可执行权限

X

特殊执行权限

只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行

s

setuid/gid

当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限

t

粘贴位

设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

八进制语法

#

权限

rwx

二进制

7

读 + 写 + 执行

rwx

111

6

读 + 写

rw-

110

5

读 + 执行

r-x

101

4

只读

r–

100

3

写 + 执行

-wx

011

2

只写

-w-

010

1

只执行

–x

001

0



000

示例
将文件 file1.txt 设为所有人皆可读取
chmod ugo+r file1.txt
chmod a+r file1.txt

用数字来表示权限
chmod 777 file

语法为:
chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5