点滴学习Linux----du命令查看文件夹大小-并按大小进行排序

来源:互联网 发布:刘博洋 知乎 编辑:程序博客网 时间:2024/06/06 10:07

reference : 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:/homedu -sh jack/ 
1.9G    jack/ 
jack@jiaobuchong:/homedu -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个。

阅读全文
0 0