首页 > 代码库 > [Linux] du-查看文件夹大小-并按大小进行排序

[Linux] du-查看文件夹大小-并按大小进行排序

reference : http://blog.csdn.net/jiaobuchong/article/details/50272761#

某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废话少说,开始吧:

使用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/  1.9G    jack/  

 能看到上边得到的相同的结果吧,

  -s, --summarize display only a total for each argument, -s这个参数的作用就是仅显示总计,即当前文件夹的大小。

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  

 * 可以将当前目录下所有文件的大小给列出来。那要将这些列出来的文件按照从大到小的方式排序呢?

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 -s * | sort -nr | head 选出排在前面的10个,

du -s * | sort -nr | tail 选出排在后面的10个。

 

[Linux] du-查看文件夹大小-并按大小进行排序