经常需要看当前目录下的子目录大小,以及查看哪一个文件或文件夹占用磁盘空间较大(注意:多级目录工作量太大无法查找)。
du -h显示的是递归的所有文件大小,例:
# du -h
4.6M ./gentoo-portage
8.0K ./dart-pub/api
1.5M ./dart-pub/packages
1.5M ./dart-pub
63G .
du -sh又只统计了所有文件或文件夹合起来的大小,例:
# du -sh
63G .
但du -sh * 可以统计一级目录文件或文件夹合起来的大小,例:
# du -sh *
120K adobe-fonts
176K alpine
244K anaconda
168K anthon
2.2M apache
52K armbian
1012K armbian-releases
128K artixlinux
68K bananian
1.2M bioconductor
或者亦可以使用du -lh --max-depth=1命令
# du -lh --max-depth=1
295M ./virtualbox
168K ./anthon
112K ./steamos
5.5M ./macports
3.7M ./pkgsrc
404K ./ceph
252K ./nodesource
3.6M ./repoforge
40K ./manjaro-cd
80K ./msys2
4.6M ./gentoo-portage
1.5M ./dart-pub
63G .
查找当前目录下占用磁盘空间最大的10个文件夹
# du -sh * | sort -nr | head -n 10
295M ./virtualbox
168K ./anthon
112K ./steamos
5.5M ./macports
3.7M ./pkgsrc
404K ./ceph
252K ./nodesource
3.6M ./repoforge
40K ./manjaro-cd
80K ./msys2
4.6M ./gentoo-portage
1.5M ./dart-pub
63G .
函数 | 参数 | 说明 |
---|---|---|
sort | -n | 按照字符串表示的数字值来排序 |
-r | 按照反序排列 | |
head | -n | 取出前多少行 |
… | … | … |