zoukankan      html  css  js  c++  java
  • N天学习一个linux命令之du

    用途

    统计文件或者目录占用硬盘空间大小

    用法

    du [OPTION] [FILE]
    du [OPTION] --files0-from=F

    常用参数

    -a, --all
    统计所有文件,不仅仅是目录

    -b, --bytes
    字节为单位统计

    -c, --total
    输出总大小

    -D, --dereference-args
    对命令行列出的链接文件,按照链接文件指向的真实文件大小统计,默认是链接文件的大小

    --files0-from=F
    从指定的文件F中读取需要统计的文件列表,多个文件名使用空字符()分隔(NUL-terminated file names)。如果是"-",表示从标准输入流中读取。

    -h, --human-readable
    人类可读方式显示

    --si
    和-h选项一样,倍数是1000不是1024

    -k
    以k为单位

    -l, --count-links
    重复计算硬链接

    -m
    以m为单位

    -L, --dereference
    所有的链接文件以真实的文件大小统计

    -P, --no-dereference
    链接文件统计自身大小,默认

    -0, --null
    输出不换行显示,空字节连接

    -S, --separate-dirs
    统计时,不包含子目录

    -s, --summarize
    显示文件总的统计

    -x, --one-file-system
    忽略不同文件系统的目录

    -X, --exclude-from=FILE
    从文件中读取需要排除的文件列表,文件名可以包含shell通配符

    --exclude=PATTERN
    符合匹配模式的文件不统计

    --max-depth=N
    统计目录深度,N=0类似于-s选项,N=1统计到第一层子目录,依次类推

    --help
    输出帮助信息

    --version
    输出版本信息


    实践

    1.统计所有文件占用空间信息(人类可读方式显示)

     1 [root@vm assets]# du -ah
     2 19M ./game/game_asia_5_release_1.3.5_15.zip
     3 20M ./game/game_asia_5_release_1.4.0_21.zip
     4 20M ./game/game_asia_7_debug_1.4.0_20.zip
     5 59M ./game
     6 332K    ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0.21.zip
     7 332K    ./hotgame
     8 34M ./source/asia/com.pokergame.dominoqq_release_1.3.5_20171223183437.apk
     9 36M ./source/asia/com.pokergame.dominoqq_release_1.4.0_20180113181031.apk
    10 40M ./source/asia/com.pokergame.susun_debug_1.4.0_20180110113325.apk
    11 109M    ./source/asia
    12 0   ./source/thailand
    13 109M    ./source
    14 167M    .
    View Code


    2.统计空字符分隔的文件列表,链接文件显示真实的大小,以字节为单位
    生成空格分隔文件列表

    1 [root@vm ~]# echo -e -n 'ntp.confpip-9.0.1.tar.gz' > t.log
    2 You have mail in /var/spool/mail/root
    3 [root@vm ~]# ll
    4 -rw-r--r--. 1 root root       25 Feb 26 18:12 t.log
    View Code

    统计文件占用空间

    1 [root@vm ~]# du -b -D --files0-from=t.log
    2 1830    ntp.conf
    3 1197370 pip-9.0.1.tar.gz
    View Code


    3.不换行显示

    1 [root@vm assets]# du -ah -0
    2 19M ./game/game_asia_5_release_1.3.5_15.zip20M  ./game/game_asia_5_release_1.4.0_21.zip20M  ./game/game_asia_7_debug_1.4.0_20.zip59M    ./game332K  ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0.21.zip332K  ./hotgame34M    ./source/asia/com.pokergame.dominoqq_release_1.3.5_20171223183437.apk36M    ./source/asia/com.pokergame.dominoqq_release_1.4.0_20180113181031.apk40M    ./source/asia/com.pokergame.susun_debug_1.4.0_20180110113325.apk109M    ./source/asia0  ./source/thailand109M   ./source167M    .
    View Code


    4.统计不包含子目录

     1 [root@vm assets]# du -ah -S
     2 19M ./game/game_asia_5_release_1.3.5_15.zip
     3 20M ./game/game_asia_5_release_1.4.0_21.zip
     4 20M ./game/game_asia_7_debug_1.4.0_20.zip
     5 59M ./game
     6 332K    ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0.21.zip
     7 332K    ./hotgame
     8 34M ./source/asia/com.pokergame.dominoqq_release_1.3.5_20171223183437.apk
     9 36M ./source/asia/com.pokergame.dominoqq_release_1.4.0_20180113181031.apk
    10 40M ./source/asia/com.pokergame.susun_debug_1.4.0_20180110113325.apk
    11 109M    ./source/asia
    12 0   ./source/thailand
    13 4.0K    ./source
    14 0   .
    View Code


    5.显示目录总的统计

     1 [root@vm assets]# du -h -s 2 167M . 


    6.不统计包含game关键字的文件

     1 [root@vm assets]# ll
     2 total 8
     3 drwxrwx---. 1 root vboxsf 4096 Jan 17 11:15 game
     4 drwxrwx---. 1 root vboxsf    0 Jan 17 11:24 hotgame
     5 drwxrwx---. 1 root vboxsf 4096 Jan 17 11:02 source
     6 You have mail in /var/spool/mail/root
     7 [root@vm assets]# du -s --exclude='game'
     8 111196  .
     9 [root@vm assets]# du -s 
    10 170708  .
    11 [root@vm assets]# du -s --exclude='game'
    12 111196  .


    7.统计子目录空间,并按降序排列

    1 [root@vm assets]# du -h -b --max-depth=1 | sort -nr 
    2 174782502   .
    3 113516252   ./source
    4 60929746    ./game
    5 336504  ./hotgame

    参考资料

    【1】Linux Shell 通配符、元字符、转义符使用实例介绍
    http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html
    【2】man du
    【3】每天一个linux命令(34):du 命令
    http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html
    【4】Representing/quoting NUL on the command line
    https://unix.stackexchange.com/questions/160598/representing-quoting-nul-on-the-command-line

  • 相关阅读:
    s检验|k-S检验|适应性检验|独立性检验|Cintinuity correction |Fisher‘s Exact Test|Likelihood Ratio|Person Chi-Square|φ系数|Cramer’s V|列联系数
    方差分析||MSA/MSE|
    专利|Pct||
    会议信息|CNKI|AIAA|万方|AIP|CNKI|EI|CPCI|BP|INSPEC
    switch break, or no break
    Defining the Encoding
    Python is becoming the world’s most popular coding language
    用C与Python计算1! + 2! + 3! + ... +100!的值
    素数判断
    Richard Stallman's quest for creating a complete Unix-compatible software system called GNU (for Gnu's Not Unix)
  • 原文地址:https://www.cnblogs.com/wadeyu/p/8476074.html
Copyright © 2011-2022 走看看