当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2019-11-13 21:26

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

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