Linux下列出所有子目录及磁盘占用情况

Linux服务器突然挂了,排查了半天发现磁盘已经100%,真后悔当初没把磁盘设大点,其实可以用LVM调整一下,但是心里还是没底,怕把数据都丢失了,决定以后再调整磁盘分配。目前先吧Jenkins下没用的项目都干掉,可以腾出很多空间。

我们都知道使用du命令可以查看目录,例如查看/home/kuuyee目录占用磁盘空间大小可以使用下面的命令:

[email protected]:~# du /home/kuuyee -sh             
2333M    /home/kuuyee

但是有个问题,我的Jenkins目录下有上百个构建项目,一个一个的差看目录占用情况太麻烦了,google了一下找到一个办法:

[email protected]:~# du /home --max-depth=1 -h
2125M    /home/linux
3333M    /home/kuuyee
4457M    /home

这样的话就吧所有的子目录的磁盘占用情况都列出来了!这里的--max-depth参数代表着要列出目录的深度,如果要列出两级目录就设置为2,以此类推。
 如果想吧结果输出到文件里可以这样:

[email protected]:~# du /home --max-depth=1 -h > disk_status.txt


下面给出du命令的用法及参数说明:

用法:du [选项]… [文件]…
或:du [选项]… –files0-from=F
总结每个<文件>的磁盘用量,目录则取总用量。

参数含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以 k 字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小。

相关推荐