Linux中du-查看文件夹大小并按大小进行排序详解

Linux中du-查看文件夹大小并按大小进行排序详解

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

使用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个。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

参与评论