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

(具体参数见后期的参数详情综合表)

上一篇:前端自动化测试 —— TDD环境配置(React+TypeScript)


下一篇:zepto/jQuery、AngularJS、React、Nuclear的演化