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

原文地址:https://www.cnblogs.com/lcword/p/14451018.html