使用mac的某天,我想检查一下电脑硬盘使用情况,作为一个命令控,废话少说,开始吧:
使用df 命令查看当前磁盘使用情况:
jack@jiaobuchong:~$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 5.7G 11G 35% /
udev 2.7G 4.0K 2.7G 1% /dev
tmpfs 553M 916K 552M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.7G 488K 2.7G 1% /run/shm
/dev/sda2 946M 128M 754M 15% /boot
/dev/sda1 93G 87G 5.5G 95% /media/2AA64C7FA64C4D8F_
下面du命令就上场了:
jack@jiaobuchong:~$ pwd
/home/jack
jack@jiaobuchong:~$ du -sh #查看当前目录的总大小
1.9G .
jack@jiaobuchong:~$ cd ..
jack@jiaobuchong:/home$ du -sh jack/ #查看指定目录的大小
1.9G jack/
jack@jiaobuchong:/home$ du -h --max-depth=0 jack/ #--max-depth和-s参数一样,计算目录总值
1.9G jack/
能看到上边得到的相同的结果吧,
-s, --summarize display only a total for each argument, -s这个参数的作用就是仅显示总计,即当前文件夹的大小。
jack@jiaobuchong:~$ du -sh * #列出当前目录下每个文件的大小 #或使用 du -sh ./*
170M Desktop
452K Documents
161M Downloads
12K examples.desktop
833M installed-software
284K learngit
4.0K Music
4.7M Pictures
3.2M program_pratice
4.0K Public
112K session
4.0K Templates
4.0K Videos
- 可以将当前目录下所有文件的大小给列出来。那要将这些列出来的文件按照从大到小的方式排序呢?
jack@jiaobuchong:~$ du -sh * | sort -nr
833M installed-software
452K Documents
284K learngit
170M Desktop
161M Downloads
112K session
12K examples.desktop
4.7M Pictures
4.0K Videos
4.0K Templates
4.0K Public
4.0K Music
3.2M program_pratice
找sort 来帮个忙就可以了。呵呵!这个排序不正常哦,都是因为-h参数的原因,
jack@jiaobuchong:~$ du -s * | sort -nr
852756 installed-software
173868 Desktop
164768 Downloads
4724 Pictures
3236 program_pratice
452 Documents
284 learngit
112 session
12 examples.desktop
4 Videos
4 Templates
4 Public
4 Music
这样就正常排序了。也可以
du -sm * | sort -nr # -m, 这样以MB为单位进行输出排序也是正常的
另外:
du -s * | sort -nr | # head 选出排在前面的10个,
du -s * | sort -nr | # tail 选出排在后面的10个。
参考: http://www.cnblogs.com/adolfmc/archive/2013/02/16/2913801.html