Linux 学习笔记 更多的bash shell命令
一 监测程序
1.ps
输出运行在系统上的所有程序的许多信息
运行ps命令,也会开启一个进程
默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程。
Unix风格的参数(单破折号)
-e 显示所有进程
-f 显示完整格式的输出
-H 用层级格式来显示进程(树状,用来显示父进程)
PPID: 父进程的进程号
TTY: 进程启动时的终端设备
C:进程生命周期中的CPU利用率
S:进程的状态(0代表正在运行;S 休眠; R 可运行;Z 僵化,即进程已结束,父进程无响应或已不存在;T 停止)
PRI:进程的优先级(越大的数字代表越低的优先级)
NI:谦让度,用来参与决定优先级
ps命令的层级树状显示(-H)在定位失控的进程或跟踪这些进程属于哪个userid或终端时,这个工具非常有用。
BSD风格的参数(无破折号)
STAT:代表当前进程状态的双字符状态码
GNU参数(双破折号)
2.实时监测进程
top
ps命令只能显示某个特定时间点的信息
top用于观察频繁换进换出内存的进程的趋势
第一行显示了当前时间,系统的运行时间,登入的用户数,系统的平均负载(最近1分钟,5分钟,15分钟)。
最近1分钟的负载很高很常见,但是如果15分钟平均负载都很高,说明系统可能有问题了。
通常,如果系统的负载值超过了2,就说明系统比较繁忙了。
第二行显示了概要的进程信息
再下一行显示了CPU信息。top根据进程的属主(用户还是系统)和进程的状态(运行,空闲还是等待)将CPU利用率分成几类输出。
后两行说明了系统内存的状态
PR:进程的优先级
VIRT:进程占用的虚拟内存总量
RES:进程占用的物理内存总量
SHR:进程和其他进程共享的内存总量
3.结束进程
kill命令接受9个信号值或信号名来结束进程,进程需指定PID
killall 支持通过进程名而不是进程号来结束进程
二 监测磁盘空间
1.mount
挂载存储媒体
在使用新的存储媒体之前,你需要把它放到虚拟目录下。
Linux将设备看作特殊的文件,叫做设备文件
-o 参数允许在挂载文件系统时添加一些以逗号分隔的额外选项。(loop挂载一个文件,而非设备)
mount命令可以使用-o 参数将一个.iso文件直接挂载到Linux虚拟目录里。
mount -t iso9660 -o loop MEPIS-KDE4-LIVE-DVD_32.iso mnt
umount
卸载设备
umount支持通过设备文件或者挂载点来指定要卸载的设备
如果有任何程序正在使用设备上的文件,系统就不会允许卸载它。
如果命令行提示符仍然在挂载设备的文件系统结构中,也不能卸载该设备文件
lsof 命令可以获得使用某设备文件的进程信息,停止该进程,再卸载设备文件
df
用来查看所有已挂载磁盘的使用情况
Linux系统后台一直有进程来处理文件或使用文件。df命令的输出值显示的是Linux系统认为的当前值。有可能系统上有运行的进程已经创建或删除了某个文件,但尚未释放文件,这个值是不会算进闲置空间的。
du(用来判断系统上某个目录下是不是有超大文件的快速方法)
用来显示某个特定目录(默认情况下是当前目录)的磁盘使用情况
三 处理数据文件
1.sort
排序命令
-n 把数字是识别成数字,而不是字符
-M 按月排序
-k postion1[,postion2] 排序从position1开始,如果指定了postion2,到postion2位置结束
-t 指定一个用来区分键位置的字符
管道命令(|)将前一个命令的输出重定向到后一个命令(见后期学习笔记)
2.grep
搜索数据
grep会到输入中或你指定的文件中查找包含匹配指定模式的字符的行
grep的输出就是包含了匹配模式的行
grep还可以进行反向搜索(输出不匹配该模式的行)
支持正则表达式
3 压缩数据
bzip2
gzip
zip
4归档数据
tar
(具体参数见后期的参数详情综合表)