转自: http://blog.csdn.net/jiaobuchong/article/details/50272761#
某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废话少说,开始吧:
使用df 命令查看当前磁盘使用情况:
1 2 3 4 5 6 7 8 9 | 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命令就上场了:
1 2 3 4 5 6 7 8 9 | 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/ 1.9G jack/ |
能看到上边得到的相同的结果吧,
-s, --summarize display only a total for each argument, -s这个参数的作用就是仅显示总计,即当前文件夹的大小。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | jack@jiaobuchong:~$ 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 |
* 可以将当前目录下所有文件的大小给列出来。那要将这些列出来的文件按照从大到小的方式排序呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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参数的原因,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 -s * | sort -nr | head 选出排在前面的10个,
du -s * | sort -nr | tail 选出排在后面的10个。