Shell Script管理相关-df,du,ps

操作系统是由一系列用于不同目的、服务于不同任务的系统软件组成的。为了了解这些软件是否正常工作,需要由操作系统或系统管理员对其进行监视。

(1)统计磁盘的使用情况

dfdu是Linux中用于统计磁盘使用情况的重要命令。df是disk free的缩写,du是disk usage的缩写。

1)找出某个文件或多个文件占用的磁盘空间

统计结果默认以字节为单位。

2)获得某个目录中所有文件的磁盘使用情况:
$ du -a DIRECTORY
-a递归地输出指定目录或多个目录中所有文件的统计结果。

3)以KB、MB或块为单位显示磁盘使用情况——选项-h

du默认显示文件占用的总字节数,但是以KB、MB或GB显示磁盘使用情况更方便阅读

4)以特定单位打印文件
$ du -b file.txt    以字节为单位(默认)
$ du -k file.txt    以KB为单位
$ du -m file.txt  以MB为单位
$ du -B BLOCK_SIZE file.txt   以指定块为单位

(2)磁盘可用空间信息

df提供磁盘可用空间信息

(3)获取当前登录用户相关信息,使用whow

(4)列出当前登录主机的用户列表,使用命令users
(5)查看系统已经通电运行了多长时间,使用uptime
(6)获取单个用户登录会话的信息,使用命令:
$ last USER
获取重启会话信息:
$ last reboot
获取失败的用户登录会话信息:
$ lastb

(7)ps(process state)是收集进程信息的重要工具。它提供的信息包括:拥有进行的用户、进行的起始时间、进程所对应的命令行路径、进行ID(PID)、进程所属的终端(TTY)、进程使用的内存、进程占用的CPU等。

ps命令通常结合参数使用,如上两条命令,ps将显示运行在当前终端(TTY)中的进程。

1)要获取运行在系统中的每一个进程的信息,使用选项-e(every)。选项-ax(all)也可以生成同样的输出。

2)使用-o选项指定想要显示的列:
$ ps [OTHER OPTIONS] -o parameter1,parameter2,…
-o的参数以逗号作为定界符,有如下示例:

其中,head进行了过滤,只列出了前10项;comm表示COMMAND,pcpu表示CPU占用率。

-o可以使用不同的参数,这些参数及描述如下:

pcpu    CPU占用率
pid       进程ID
ppid     父进程ID
pmem  内存使用率
comm  可执行文件名
cmd      简单命令(simple command)
user      启动进程的用户
nice       优先级
time      累计的CPU时间
etime    进程启动后度过的时间
tty          所关联的TTY设备
euid       有效用户ID
stat        进程状态

(8)top命令会默认输出一个占用CPU最多的进程列表:
$ top

(9)杀死进程以及发送或响应信号,kill命令可用来向进程发送信号

1)列出所有可用的信号:
$ kill -l

2)强行杀死一个进程:
$ kill -9 PROCESS_ID
或者通过名称强行杀死进程:
$ kill -9 process_name

发表评论

电子邮件地址不会被公开。 必填项已用*标注