二、进阶命令
2.1 ps命令
- 作用:监测进程。
ps aux
:显示所有用户的进程- 可以看见CPU使用率,内存使用率、进程状态
ps -ef
系统上运行的所有进程- 可以看见PPID
- 一些信息
- UID:启动这些进程的用户。
- PID:进程的进程ID。
- PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
- C:进程生命周期中的CPU利用率。
- STIME:进程启动时的系统时间。
- TTY:进程启动时的终端设备。
- TIME:运行进程需要的累计CPU时间。
- CMD:启动的程序名称。
- STAT:代表当前进程状态的双字符状态码。
- <:该进程运行在高优先级上。
- N:该进程运行在低优先级上。
- L:该进程有页面锁定在内存中。
- s:该进程是控制进程。
- l:该进程是多线程的。
- +:该进程运行在前台。
2.2 top命令
-
作用:实时监测进程
-
内容
top - 20:48:13 up 2:21, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 267 total, 1 running, 266 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 2027892 total, 167456 free, 861556 used, 998880 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 983100 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- 第一行:当前时间、系统的运行时间、登录的用户数、系统的平均负载:最近一分钟、最近五分钟、最近15分钟
- 第二行:总任务数、正在运行、正在休眠、停止、僵尸状态
- 第三行:CPU状态
- 第四行:系统内存状态
- 第五行:交换空间状态
-
其他内容
-
PID:进程的ID。
-
USER:进程属主的名字。
-
PR:进程的优先级。
-
NI:进程的谦让度值。
-
VIRT:进程占用的虚拟内存总量。
-
RES:进程占用的物理内存总量。
-
SHR:进程和其他进程共享的内存总量。
-
S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表
跟踪状态或停止状态,Z代表僵化状态)。 -
%CPU:进程使用的CPU时间比例。
-
%MEM:进程使用的内存占可用内存的比例。
-
TIME+:自进程启动到目前为止的CPU时间总量。
-
COMMAND:进程所对应的命令行名称,也就是启动的程序名。
-
-
q
退出top -
默认是按照%CPU进行排序,
f
选择排序的字段。 -
d
修改轮询间隔,单位秒
2.3 kill命令
- 作用:给进程发送信号
kill 进程号
,发送一个TERM信号。kill -s 信号名/信号值 进程号
,向指定进程发送指定信号- 1 HUP 挂起
- 2 INT 中断
- 3 QUIT 结束运行
- 9 KILL 无条件终止
- 11 SEGV 段错误
- 15 TERM 尽可能终止
- 17 STOP 无条件停止运行,但不终止
- 18 TSTP 停止或暂停,但继续在后台运行
- 19 CONT 在STOP或TSTP之后恢复执行
2.4 killall命令
- 作用:根据进程名来结束进程
killall http*
结束http开头的所有进程
2.5 mount命令
- 作用:与挂载文件相关
- 挂载是什么?
- 假设现在有一个U盘,如何使用?系统会发现这个U盘,并且认为是一个设备文件,通常会被分配一个设备名,例如
/dev/sdb1
,目前只有这个设备文件,但并没有挂载到文件系统,所以还不能进行读写。 - 为什么要挂载到文件系统?
- 挂载到文件系统,这样文件系统就能够统一管理了。
- 挂载后,就可以操作了。
- 创建挂载点
mkdir /mnt/usb
- 挂载U盘
sudo mount /dev/sdb1 /mnt/usb
- 然后访问
/mnt/usb
就是访问U盘的内容了
- 创建挂载点
- 卸载U盘
sudo umount /mnt/usb
- 挂载点如果原来有文件,此时会被“屏蔽”。卸载之后,会恢复。
- 假设现在有一个U盘,如何使用?系统会发现这个U盘,并且认为是一个设备文件,通常会被分配一个设备名,例如
2.6 df命令
-
作用:查看所有已挂载磁盘的使用情况
-
内容
文件系统 1K-块 已用 可用 已用 % 挂载点
- 设备位置、共多少块、已用、可用、已用空间所占比例、挂载点
-
-h
:按照用户易读的形式显示。
2.7 du命令
- df很容易发现哪个磁盘的存储空间满了,那么,具体那个目录占用空间太大了?
- 作用:显示某个特定目录的磁盘使用情况,默认是当前目录。
- 默认情况会显示当前目录下的所有目录、子目录的磁盘使用情况。
-a
:查看所有文件、目录、子目录-h
:以用户易读的方式显示。-s
:只查看当前目录大小,不显示每个子目录大小--max-depth=1
:指定查看当前目录以及一级子目录的大小
2.8 gzip命令
- 作用:压缩文件
gzip a
:会把a文件压缩,然后得到a.gz文件,注意,原文件会消失了- 还可以
gzip a*
:把所有a开头的文件都压缩了。 - 多文件压缩
gzip a b c
,注意,会分别生成a.gz, b.gz, c.gz,也就是说,gzip不能“打包”。可以使用tar - 同时,gzip也不能压缩文件。可以使用tar
- 还可以
gzip -c a.txt > a.txt.gz
,-c选项,保留原文件,注意还有一个>
重定向- 解压
gunzip a.txt.gz
,压缩文件没了,生成a.txt文件- 保留压缩包
gunzip -c a.txt.gz > new_a.txt
- 不保留压缩包,同时改名
gunzip a.txt.gz && mv a.txt a_new.txt
- 这是一种条件执行
a命令 && b命令
,如果a命令成功,才会执行b命令,如果a命令失败,不会执行b命令 - 还有
a命令 || b命令
,如果a命令失败,才会执行b命令
- 这是一种条件执行
- 保留压缩包
2.9 tar命令
-
作用:打包文件、压缩文件
-
常用选项
-
tar -zcvf test.tar a.txt b/
:将a.txt以及目录b/生成一个test.tar的归档文件,注意a.txt和b/都还存在-z
:使用gzip压缩-c
创建一个新的tar归档文件-v
在处理文件时显示文件-f
输出结果到文件
-
tar -xvf test.tar
:提取文件,注意,test.tar还存在-
-z
:使用gzip解压 -
-x
:提取文件
-
-