• Linux 磁盘空间大小统计du命令常见使用方法


    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/hongweigg/article/details/37692057
    在 Linux下,能够对某个文件或目录所占空间大小进行统计,这里将一些经常使用使用方法汇总例如以下:

    1、对指定文件或目录进行统计,缺省单位为kbyte(k或千字节)。下例对目录testa进行统计:

    [web@localhost ~]$ du -s testa
    1589308    testa


    2、对目录统计的正确做法,假设想知道某个目录所占空间的大小。用什么命令?直接用du能够吗?
    能够是能够,可是。它会将该目录底下全部目录都统计一遍。显然,这不是我们想要的。正确的做法是使用 -s操作符,以下是不用-s 的结果:

    [web@localhost Oracle]$ du utils
    16    utils/config/10.3
    172    utils/config/help/7.2.0.0/en/cw
    176    utils/config/help/7.2.0.0/en
    204    utils/config/help/7.2.0.0/pt_BR/cw
    208    utils/config/help/7.2.0.0/pt_BR
    204    utils/config/help/7.2.0.0/fr/cw
    208    utils/config/help/7.2.0.0/fr
    188    utils/config/help/7.2.0.0/de/cw
    192    utils/config/help/7.2.0.0/de
    164    utils/config/help/7.2.0.0/zh_CN/cw
    168    utils/config/help/7.2.0.0/zh_CN
    168    utils/config/help/7.2.0.0/zh_TW/cw
    172    utils/config/help/7.2.0.0/zh_TW
    176    utils/config/help/7.2.0.0/ko/cw
    180    utils/config/help/7.2.0.0/ko
    196    utils/config/help/7.2.0.0/es/cw
    200    utils/config/help/7.2.0.0/es
    192    utils/config/help/7.2.0.0/ja/cw
    196    utils/config/help/7.2.0.0/ja
    180    utils/config/help/7.2.0.0/it/cw
    184    utils/config/help/7.2.0.0/it
    1888    utils/config/help/7.2.0.0
    1892    utils/config/help
    1912    utils/config
    8    utils/ccr/config/default
    16    utils/ccr/config
    3336    utils/ccr/lib
    23508    utils/ccr/inventory/pending
    23512    utils/ccr/inventory
    180    utils/ccr/bin
    16    utils/ccr/doc
    27188    utils/ccr
    20    utils/clone
    44    utils/bsu
    28    utils/quickstart/images
    128    utils/quickstart
    572    utils/uninstall/WebLogic_Platform_10.3.6.0
    40    utils/uninstall/extftr
    712    utils/uninstall
    30028    utils


    使用-s后:
    [web@localhost Oracle]$ du -s utils
    30028    utils

    3、显示实际目录的大小(对实际文件大小进行统计,而不是对所占用磁盘空间进行统计)
    [web@localhost Oracle]$ du --apparent-size utils
    6    utils/config/10.3
    103    utils/config/help/7.2.0.0/en/cw
    107    utils/config/help/7.2.0.0/en
    128    utils/config/help/7.2.0.0/pt_BR/cw
    132    utils/config/help/7.2.0.0/pt_BR
    128    utils/config/help/7.2.0.0/fr/cw
    132    utils/config/help/7.2.0.0/fr
    119    utils/config/help/7.2.0.0/de/cw
    123    utils/config/help/7.2.0.0/de
    94    utils/config/help/7.2.0.0/zh_CN/cw
    98    utils/config/help/7.2.0.0/zh_CN
    97    utils/config/help/7.2.0.0/zh_TW/cw
    101    utils/config/help/7.2.0.0/zh_TW
    111    utils/config/help/7.2.0.0/ko/cw
    115    utils/config/help/7.2.0.0/ko
    119    utils/config/help/7.2.0.0/es/cw
    123    utils/config/help/7.2.0.0/es
    124    utils/config/help/7.2.0.0/ja/cw
    128    utils/config/help/7.2.0.0/ja
    114    utils/config/help/7.2.0.0/it/cw
    118    utils/config/help/7.2.0.0/it
    1175    utils/config/help/7.2.0.0
    1179    utils/config/help
    1188    utils/config
    5    utils/ccr/config/default
    9    utils/ccr/config
    3284    utils/ccr/lib
    23456    utils/ccr/inventory/pending
    23460    utils/ccr/inventory
    153    utils/ccr/bin
    16    utils/ccr/doc
    27036    utils/ccr
    7    utils/clone
    30    utils/bsu
    15    utils/quickstart/images
    102    utils/quickstart
    546    utils/uninstall/WebLogic_Platform_10.3.6.0
    40    utils/uninstall/extftr
    672    utils/uninstall
    29055    utils

    能够看到文件的实际大小总是比占用空间小的。

    4、假设要想让结果看起来易读一点咋办?也就是我们平时口中习惯说的空间大小,也就是转换为多少G, 或多少M,或多少K,当然仅仅是一个概数。
    [web@localhost ~]$ du -s -h testa
    1.6G    testa


    5、指定统计单位。统计单位能够是块(512byte),byte。Kbyte(千字节)
    按块统计:
    [web@localhost ~]$ du -s -B 512 testa
    3178616    testa


    按字节进行统计
    [web@localhost ~]$ du -s -B 1 testa
    1627451392    testa


    按K字节进行统计
    [web@localhost ~]$ du -s -B 1024 testa
    1589308    testa


    6、统计深度,比方,我不仅想看当前目录下各个目录的大小。我还希望看到二级目录下各个目录下的大小
    [web@localhost Oracle]$ du --max-depth=2
    1912    ./utils/config
    27188    ./utils/ccr
    20    ./utils/clone
    44    ./utils/bsu
    128    ./utils/quickstart
    712    ./utils/uninstall
    30028    ./utils
    21240    ./wlserver_10.3/common
    4    ./wlserver_10.3/L10N
    16    ./wlserver_10.3/inventory
    454968    ./wlserver_10.3/server
    3460    ./wlserver_10.3/sip
    196    ./wlserver_10.3/uninstall
    479896    ./wlserver_10.3
    11936    ./coherence_3.7/lib
    12    ./coherence_3.7/inventory
    52    ./coherence_3.7/bin
    8    ./coherence_3.7/uninstall
    12024    ./coherence_3.7
    228    ./modules/junit_1.0.0.0_4-5
    216    ./modules/net.sf.antcontrib_1.1.0.0_1-0b2
    688    ./modules/features
    1852    ./modules/com.bea.weblogic.jms.dotnetclient_1.3.2.0
    4164    ./modules/org.apache.ant_1.7.1
    143464    ./modules
    185472    ./user_projects/domains
    185476    ./user_projects
    24    ./logs
    851044    .


    也就是说对两级目录进行分别统计,当中对子目录的统计(目录内容所占空间的和),这和单独统计目录是一样的,如对
    ./wlserver_10.3/common 统计的结果是21240。单独统计该目录试试看:
    [web@localhost Oracle]$ du -s ./wlserver_10.3/common
    21240    ./wlserver_10.3/common


    7、嫌结果输出行数太多?那就不换行!
    [web@localhost Oracle]$ du -0 utils
    16    utils/config/10.3172    utils/config/help/7.2.0.0/en/cw176    utils/config/help/7.2.0.0/en204    utils/config/help/7.2.0.0/pt_BR/cw208    utils/config/help/7.2.0.0/pt_BR204    utils/config/help/7.2.0.0/fr/cw208    utils/config/help/7.2.0.0/fr188    utils/config/help/7.2.0.0/de/cw192    utils/config/help/7.2.0.0/de164    utils/config/help/7.2.0.0/zh_CN/cw168    utils/config/help/7.2.0.0/zh_CN168    utils/config/help/7.2.0.0/zh_TW/cw172    utils/config/help/7.2.0.0/zh_TW176    utils/config/help/7.2.0.0/ko/cw180    utils/config/help/7.2.0.0/ko196    utils/config/help/7.2.0.0/es/cw200    utils/config/help/7.2.0.0/es192    utils/config/help/7.2.0.0/ja/cw196    utils/config/help/7.2.0.0/ja180    utils/config/help/7.2.0.0/it/cw184    utils/config/help/7.2.0.0/it1888    utils/config/help/7.2.0.01892    utils/config/help1912    utils/config8    utils/ccr/config/default16    utils/ccr/config3336    utils/ccr/lib23508    utils/ccr/inventory/pending23512   utils/ccr/inventory180    utils/ccr/bin16    utils/ccr/doc27188    utils/ccr20    utils/clone44    utils/bsu28utils/quickstart/images128    utils/quickstart572    utils/uninstall/WebLogic_Platform_10.3.6.040    util


    8、统计时,不想将某些文件统计在内。怎么办,使用--exclude=[pattern]去掉,以下的样例中,对目录logs进行统计:
    [web@localhost logs]$ ls -l
    总计 20
    -rw-r--r-- 1 web weblogic 1317 07-02 09:19 log.txt
    -rw-r----- 1 web weblogic 1743 07-02 09:25 wlsconfig_20140702092113.log
    -rw-r----- 1 web weblogic 1743 07-02 09:27 wlsconfig_20140702092546.log
    -rw-r----- 1 web weblogic 1743 07-02 09:28 wlsconfig_20140702092738.log
    -rw-r----- 1 web weblogic 1743 07-02 09:29 wlsconfig_20140702092819.log


    能够目录中一共同拥有5个文件,每一个文件大小2K左右,看一下实际占用空间大小
    [web@localhost logs]$ du -s *
    4    log.txt
    4    wlsconfig_20140702092113.log
    4    wlsconfig_20140702092546.log
    4    wlsconfig_20140702092738.log
    4    wlsconfig_20140702092819.log

    实际每一个所占用的空间4k左右(注意:文件占用空间和文件大小有差别)
    [web@localhost logs]$ du --apparent-size *
    2    log.txt
    2    wlsconfig_20140702092113.log
    2    wlsconfig_20140702092546.log
    2    wlsconfig_20140702092738.log
    2    wlsconfig_20140702092819.log

    使用k字节统计大约2K左右

    [web@localhost logs]$ du --apparent-size -B 1 *
    1317    log.txt
    1743    wlsconfig_20140702092113.log
    1743    wlsconfig_20140702092546.log
    1743    wlsconfig_20140702092738.log
    1743    wlsconfig_20140702092819.log

    使用字节统计,则和ls命令获取的文件大小结果一样

    [web@localhost logs]$ cd ..
    [web@localhost Oracle]$ du -s logs
    24    logs


    不包括txt文件后统计,大小少了4k
    [web@localhost Oracle]$ du -s --exclude=*.txt logs
    20    logs


    9、统计符号链接,在统计某目录磁盘空间大小时。符号链接实际存储位置可能在其它分区上,缺省是不进行统计的。若要进行统计。则使用-L參数
    [web@localhost logs]$ ls -l ../registry.xml
    -rw-r--r-- 1 web weblogic 1908 07-02 09:19 ../registry.xml


    能够看到registry.xml实际大小2K左右。创建两个符号链接:
    [web@localhost logs]$ ln -s ../registry.xml ./test.xml
    [web@localhost logs]$ ln -s ../registry.xml test2.xml

    [web@localhost logs]$ ls -l
    总计 20
    -rw-r--r-- 1 web weblogic 1317 07-02 09:19 log.txt
    lrwxrwxrwx 1 web weblogic   15 07-11 10:36 test2.xml -> ../registry.xml
    lrwxrwxrwx 1 web weblogic   15 07-11 10:36 test.xml -> ../registry.xml
    -rw-r----- 1 web weblogic 1743 07-02 09:25 wlsconfig_20140702092113.log
    -rw-r----- 1 web weblogic 1743 07-02 09:27 wlsconfig_20140702092546.log
    -rw-r----- 1 web weblogic 1743 07-02 09:28 wlsconfig_20140702092738.log
    -rw-r----- 1 web weblogic 1743 07-02 09:29 wlsconfig_20140702092819.log



    这时,能够看到统计的磁盘空间多了8k,变成了32
    [web@localhost Oracle]$ du -L logs
    32    logs


  • 相关阅读:
    Java学习:冒泡排序和选择排序
    Java学习:多态
    Java学习:抽象类与接口
    Java学习:继承
    Java学习:标准类
    Java学习:方法简介
    传参的本质
    new 关键字做的事
    一个引用类型的对象占多大堆空间
    栈中空间大小
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10748844.html
  • Copyright © 2020-2023  润新知