一、需求:Linux系统,有一个目录【/www/temp】,该目录占用磁盘空间较大,需要查看【/www/temp】目录下的子目录大小,并按照从大到小排序。
二、命令:
du -h --max-depth=1 /www/temp | sort -rh
【简单解释】
查看目录下各子目录大小命令:
du -h --max-depth=1 /www/temp
du :查看目录大小;
-h 参数:提高输出信息可读性,例如:1K 、234M 、2G;
--max-depth=1参数:目录层数,0相当于仅查看 /www/temp目录大小,1为查看/www/temp目录下的第一级子目录大小,可以此类推;
示例如下:
排序:
sort -rh
将【du -h --max-depth=1 /www/temp】命令执行的结果通过管道符【|】交给【sort -rh】命令进行排序,最终显示结果。
-r参数:反序排列即以相反的顺序进行排列;
-h参数:使用易读性数字(例如:K 、234M 、2G)来按照文件夹大小排序;
示例如下图:
通过以上2条命令配合就可以统计/www/temp目录下第一级子目录的大小并进行排序。
三、问题:sort命令在不同的Linux系统中版本不同,有些版本没有-h参数
在CentOS5.5中sort命令没有-h参数,解决办法为,可以从CentOS 6.7中下载一个sort命令用来替换当前系统的sort命令即可。(当前手头只有这几个系统版本,在CentOS 5.5中测试成功。)具体如下:
将本机sort命令重命名【备份】,然后将从其他高版本服务器下载回来的sort命令移动到/bin目录:
测试成功:
【最后总结】
命令总结:
查看操作系统版本:
cat /etc/issue
查看sort版本:
sort --version
du -h --max-depth=1 /www/temp 如何要查看文件的话,可以增加-all参数;
scp 从远程服务器下载文件;
当遇到问题的时候可以转换一下思路。