主要就是du和df两个。
du即disk usage,查看使用情况;
df即disk free,查看剩余情况;
1.先看du使用:
du 文件名:查看某一文件的大小;
miracle@localhost:~/test|⇒ du a.txt
8 a.txt
miracle@localhost:~/test|⇒ du -k a.txt
4 a.txt
miracle@localhost:~/test|⇒ du -m a.txt
1 a.txt
miracle@localhost:~/test|⇒ du -g a.txt
1 a.txt
这里使用了-k、-m和-g参数用于表示展示的单位,对后面排序很有帮助。
du 目录:查看目录已经子目录大小;
miracle@localhost:~/test|⇒ du -k shell
4 shell/123/aaa
20 shell/123
44 shell
默认du一个目录只会展示目录的大小,如果需要同时展示目录内文件大小,可以加上-a参数:
miracle@localhost:~/test|⇒ du -ak shell
8 shell/.DS_Store
8 shell/123/.DS_Store
4 shell/123/123123.txt
4 shell/123/aaa/a.txt
4 shell/123/aaa
4 shell/123/ff.txt
20 shell/123
4 shell/a.txt
4 shell/b.txt
4 shell/c.txt
4 shell/t.sh
44 shell
另外还有一个-h参数,du和df都能用,用于美观的展示结果。其实就是大小的单位会智能展示,不能与-k或者-g、-m同时生效:
miracle@localhost:~/test|⇒ du -h shell
4.0K shell/123/aaa
20K shell/123
44K shell
关于du,有一个很常见的情景,按照文件大小排序显示前10,这个首先要用-m、-k或者-g统一单位,然后管道一个sort命令再管道一个head命令即可:
miracle@localhost:~/test|⇒ du -ka shell | sort -rnk 1 | head -n 10
44 shell
20 shell/123
8 shell/123/.DS_Store
8 shell/.DS_Store
4 shell/t.sh
4 shell/c.txt
4 shell/b.txt
4 shell/a.txt
4 shell/123/ff.txt
4 shell/123/aaa/a.txt
sort中r表示逆序,n表示按数字比较不是字典序,k表示哪一列,关于sort的用法这里不深入了。
2.再看df
du是使用情况,而df主要显示磁盘的可用情况,主要就是df -h这个命令。
miracle@localhost:~/test|⇒ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 465Gi 362Gi 102Gi 78% 1928064 4293039215 0% /
devfs 183Ki 183Ki 0Bi 100% 633 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
如果df 文件或者目录名,会显示所在磁盘的可用情况。
miracle@localhost:~/test|⇒ df -h shell
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 465Gi 362Gi 102Gi 78% 1928064 4293039215 0% /