帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux中du-查看文件夹大小并按大小进行排序详解

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

2019-02-19 13:47:54 7738

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

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: