作为LINUX系统管理员或者普通用户,经常会碰到常用目录(/home或/tmp)满导致储存空间不足的报错,这个时候,我们会使用du命令来查看,看是那个目录或文件占用的空间最大,比如说:
# du -sh /home/*
13M /home/back
847M /home/jerry
10G /home/tom
1.2M /home/learn
13M /home/lt
4.0K /home/other
1.8M /home/root
287M /home/tomcat
249M /home/xyz
8.0K /home/zoo
上面的命令,在du命令后面添加-h参数,人性化的显示占用空间大小,G,M,K来显示,固然是好,但如果该目录下子目录太多的话,还是不好看,究竟是哪个目录占用的空间大。 这个时候如果通过管道再结合head命令和sort命令,就可以很好的显示了!
# du -sh /home/* | head -n 10 | sort -hr
10G /home/tom
847M /home/jerry
287M /home/tomcat
249M /home/xyz
13M /home/lt
13M /home/back
1.8M /home/root
1.2M /home/learn
8.0K /home/zoo
4.0K /home/other
备注:
1. head -n 10 # 显示前10条记录
2. sort -h # compare human readable numbers (e.g., 2K 1G)