Linux Command Line and....ch4(更多的bash shell)
本章主要内容:
- 管理进程
- 获取磁盘统计信息
- 挂载新磁盘
- 排序数据
- 归档数据
4.1 监测程序
4.1.1 探查进程
默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程。
组合命令 -e 显示所有进程 -f 显示完整格式的输出
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:进程的进程(如果进程是一个进程启动的)。
C:进程生命中的CPU利用。
STIME:进程启动时的系统时。
TTY:进程启动时的终端设备
TIME:运行进程需要的累计CPU时间
CMD:启动的程序名称
$ ps -l
注意使用了-l参数之后多出的那些列。
F:内分进程的系统。
S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
PRI:进程的优先级(越大的数字越低)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址
SZ:加入进程被换出,所需交换空间的大致大小。
WCHAN:进程休眠的内核函数地址
4.1.2实时监测进程
top命令
VIRT:进程用的内存量。
RES:进程用的理内存量。
SHR:进程和其他进程的内存量。
%CPU:进程使用的CPU时间比例。
%MEM:进程使用的内存可用内存的比例。
TIME+:自进程启动到目前为止的CPU时量。
COMMAND:进程所对应的命令行名称,也就是启动的程序名。
4.1.3 结束进程
1. kill命令
只能使用进程的PID
$ kill 3940
-bash: kill: (3940) - Operation not permitted
如果要强制终止,-s参数支持指令其他信号。
# kill -s HUP 3940
#
- killall命令
它支持通过进程名而不是PID来结束进程。killall命令也支持通配符,这在系统因负载过载过大而变得很慢时很有用。
4.2 监测磁盘空间
4.2.1挂载存储媒体
在使用新的存储媒体之前,需要把它放到虚拟目录下,这项工作称为挂载(mounting)。
如果用的发行版不支持自动挂载和卸载可移动存储媒体,就必须手动完成。
$ mount 输出当前系统下挂载的设备列表
$ mount -t type device directory(必须是root身份)
umount命令非常简单:
umount [directory | device ]
4.2.2 使用df命令
查看在某个设备上还有多少磁盘空间。
4.2.3 使用du命令
du命令可以显示某个特定目录(默认下是当前目录)的磁盘使用情况。这一方法可用来快速判断系统上某个目录下是不是有超大文件。
每行输出左边的数值是每个文件或目录占用的磁盘块数。
但会输出很多的信息,所以要进行筛选(4.3节中)。
4.3 处理数据文件
sort 命令会按照会话指定的的默认语言的排序规则对文本文件中的数据行排序。
4.3.2 搜索数据
在大文件中查找数据。
grep [options] pattern [file]
普通用法:
$ grep three file1
反向搜索(输出不含t的):
$ grep -v t file1
显示所在的行号:
$ grep -n t file1
2:two
3:three
默认情况下,grep命令用基本的Unix正则表达式来匹配模式。
还有egrep和fgrep。
4.3.3 压缩数据
gzip:用来压缩文件。
gzcat:用来查看压缩过的文本文件的内容。
gunzip:用来解压文件。
4.3.4 归档数据
tar命令是标准归档工具。
tar function [options] object1 object2 …