《Linux命令行与shell脚本编程大全》 第四章
4.1 监测程序
1. ps 默认只显示运行在当前控制台下的属于当前用户的进程。 可以接很多选项,比如 -A表示所有进程 -e等。
2. ps -l 查看进程更多信息
UID:启动这些进程的用户
PID:进程的进程ID
PPID:父进程的进程ID
C:进程生命周期中的CPU利用率
TTY:进程启动时的终端设备
TIME:运行进程需要的累计CPU时间
CMD:启动的程序名称
PRI:进程的优先级(数字越大代表越低的优先级)
ADDR:进程的内存地址
F:内核分配给进程的系统标记
S:进程的状态(O正在运行,S代表正在休眠,R代表可运行,T代表停止,Z代表僵尸进程,进程已结束资源还没有回收,但是父进程也不在了,没人给他们收尸)
SZ:假如进程被换出,所需交换空间的大致大小
还有一种这样的
4.1.2 实时监测进程
top:这个是实时显示的
4.1.3 结束进程
kill 4223 直接输入进程ID号结束
killall http* 通过进程名来结束进程,杀掉所有以http开头的进程
补充:关于目录的知识:
1. linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)
虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。
2./home/xcy/test/1.c 路径本身没有提供任何有关文件究竟存放在哪个物理磁盘上的信息
3.linux pc机上安装的第一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是那里开始构建的。
4. Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点。挂载点是虚拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然而实际上他们却存储在另外一个驱动器中。
4.2 监测磁盘空间
定义:Linux文件系统将所有的磁盘都并入一个虚拟目录下,再使用新的存储媒体之前,需要把它放到虚拟目录下,这个工作叫做挂载(mounting)。
1.mount:默认情况下输出当前系统上挂载的设备列表
可以看到四部分信息:媒体的设备文件名,媒体挂载到虚拟目录的挂载点,文件系统类型,已挂载媒体的访问状态
2. 媒体设备挂载到了虚拟目录以后,root用户就有了该设备的所有访问权利,而其他用户则会被限制。
3. umount。从Linux上移除一个可移动设备时,不能从系统上移除,而应该先卸载。哎,还是不太明白。
4.df:查看所有已挂载磁盘的使用情况, 也可以df -h。比较容易看懂
5.du:快速查看目录中的磁盘使用情况(默认是当前目录)。也可以加 -h 参数。
-c 显示所有已列出文件总的大小
-s 显示每个输出参数的总计
4.3 处理数据文件
排序: sort file
还可以接很多参数。
比如 sort -t ':' -k 3 test
可以看成里面的内容是这样 xxx1:xxx2:xxx3:xxx4:xxx5
表示对xxx3进行排序
-t: 指定一个用来区分键位置的字符
-k: --key=pos1[pos1]。排序从pos1开始,如果指定了pos2的话到pos2结束。
| 将du命令的输出重定向到sort命令。
-r:表示降序排列。
下面是一个例子:
4.3.2
1. grep [options] pattern [file]
例如:
grep t test // 在test中搜索能匹配模式t的文本
grep -v t test // 匹配没有t的
-n 可以加上行号
-e 匹配多个模式, grep -e t -e f test // 找有t或f的所有行
4.3.3 压缩数据
4.3.4 归档数据 tar