bash shell命令与监测的那点事之df与du
前两篇介绍了bash shell的进程监控指令,但是有时候你需要知道在某个设备上还有多少磁盘空间。首先介绍df命令:
df命令
df命令就是用来轻松查看所有已挂载磁盘的使用情况的:
1 [root@controller ~]# df 2 Filesystem 1K-blocks Used Available Use% Mounted on 3 /dev/sda2 39219648 10728028 26499380 29% / 4 tmpfs 1962216 528 1961688 1% /dev/shm 5 /dev/sdb1 1050016 32928 1017088 4% /srv/node/sdb1
df命令会显示每个有数据的已挂载文件系统。命令输出如下:
- 设备的设备文件位置;
- 能容纳多少个1024字节大小的块;
- 已用了多少个1024字节大小的块;
- 还有多少个1024字节的大小块可用;
- 已用的空间所占的比例;
- 设备挂载到那个挂载点上。
df命令有一个常用的参数是-h。它会把输出中的磁盘空间按人类易读的方式来显示,通常用M代替兆字节,用G代替吉字节:
1 [root@controller ~]# df -h 2 Filesystem Size Used Avail Use% Mounted on 3 /dev/sda2 38G 11G 26G 29% / 4 tmpfs 1.9G 528K 1.9G 1% /dev/shm 5 /dev/sdb1 1.1G 33M 994M 4% /srv/node/sdb1
接下来介绍du命令:
du命令
通过df命令可以很容易发现哪个磁盘快没存储空间了,那么问题来了,遇到这种问题怎么办呢?没错,就是du命令。du命令可以显示特定目录(默认情况是当前目录)的磁盘使用情况。这是用来判断你系统上是不是有超大文件的快速方法。
默认情况下,du命令会显示当前目录所有的文件、目录和子目录的磁盘使用情况。它会以磁盘的块为单位来显示每个文件或目录占用了多大的存储。在标准的主目录中,这个输出会是一个比较长的列表。下面是du命令的部分输出:
1 [root@controller vim74]# du 2 24 ./libs 3 272 ./pixmaps 4 20 ./nsis/icons 5 44 ./nsis 6 60 ./runtime/macros/maze 7 24 ./runtime/macros/hanoi 8 24 ./runtime/macros/urm 9 20 ./runtime/macros/life 10 248 ./runtime/macros 11 840 ./runtime/ftplugin 12 68 ./runtime/plugin 13 5952 ./runtime/syntax 14 2120 ./runtime/tutor 15 120 ./runtime/tools 16 6592 ./runtime/doc
每行输出开始的地方是数值,是每个文件或目录占用的磁盘块数。注意列表是从一个目录的层级最底部开始的,然后按文件、子目录、目录逐级向上。
这么使用的话作用不大,下面介绍几个参数来使你能更方便的使用du命令:
- -c:显示所有已列出文件的总大小;
- -h:按人类易读方式输出文件大小;
- -s:显示每个输出参数的总计。
有关监控的LInux bash shell命令就到此结束了。