Linux命令-du

du命令


Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

  1. 命令格式
    du [选项][文件]
    
  2. 命令功能
    显示每个文件和目录的磁盘使用空间。
  3. 命令参数
    -a或-all 显示目录中个别文件的大小。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    -k或--kilobytes 以KB(1024bytes)为单位输出。
    -m或--megabytes 以MB为单位输出。
    -s或--summarize 仅显示总计,只列出最后加总的值。
    -h或--human-readable 以K,M,G为单位,提高信息的可读性。
    -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    -L<符号链接>--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
    -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
    -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
    --exclude=<目录或文件> 略过指定的目录或文件。
    -D或--dereference-args 显示指定符号链接的源文件大小。
    -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
    -l或--count-links 重复计算硬件链接的文件。
  4. 使用实例:
    # 显示目录或者文件所占空间 
    $ du
    608     ./test6
    308     ./test4
    4       ./scf/lib
    4       ./scf/service/deploy/product
    4       ./scf/service/deploy/info
    12      ./scf/service/deploy
    16      ./scf/service
    4       ./scf/doc
    4       ./scf/bin
    32      ./scf
    8       ./test3
    1288    .
    ## 说明:
    ## 只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小
    
    # 显示指定文件所占空间
    $ du log2012.log 
    300     log2012.log
    
    # 查看指定目录的所占空间
    $ du scf
    4       scf/lib
    4       scf/service/deploy/product
    4       scf/service/deploy/info
    12      scf/service/deploy
    16      scf/service
    4       scf/doc
    4       scf/bin
    32      scf
    
    # 显示多个文件所占空间
    $ du log30.tar.gz log31.tar.gz 
    4       log30.tar.gz
    4       log31.tar.gz
    
    # 只显示总和的大小
    $ du -s
    1288    .
    $ du -s scf
    32      scf
    $ cd ..
    $ du -s test
    1288    test
    
    # 方便阅读的格式显示
    $ du -h test
    608K    test/test6
    308K    test/test4
    4.0K    test/scf/lib
    4.0K    test/scf/service/deploy/product
    4.0K    test/scf/service/deploy/info
    12K     test/scf/service/deploy
    16K     test/scf/service
    4.0K    test/scf/doc
    4.0K    test/scf/bin
    32K     test/scf
    8.0K    test/test3
    1.3M    test
    
    # 文件和目录都显示
    $ du -ah test
    4.0K    test/log31.tar.gz
    4.0K    test/test13.tar.gz
    0       test/linklog.log
    0       test/test6/log2014.log
    300K    test/test6/linklog.log
    0       test/test6/log2015.log
    4.0K    test/test6/log2013.log
    300K    test/test6/log2012.log
    0       test/test6/log2017.log
    0       test/test6/log2016.log
    608K    test/test6
    0       test/log2015.log
    0       test/test4/log2014.log
    4.0K    test/test4/log2013.log
    300K    test/test4/log2012.log
    308K    test/test4
    4.0K    test/scf/lib
    4.0K    test/scf/service/deploy/product
    4.0K    test/scf/service/deploy/info
    12K     test/scf/service/deploy
    16K     test/scf/service
    4.0K    test/scf/doc
    4.0K    test/scf/bin
    32K     test/scf
    4.0K    test/log2013.log
    300K    test/log2012.log
    0       test/log2017.log
    0       test/log2016.log
    4.0K    test/log30.tar.gz
    4.0K    test/log.tar.bz2
    4.0K    test/log.tar.gz
    0       test/test3/log2014.log
    4.0K    test/test3/log2013.log
    8.0K    test/test3
    4.0K    test/scf.tar.gz
    1.3M    test
    
    
    # 显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
    $ du -c log30.tar.gz log31.tar.gz 
    4       log30.tar.gz
    4       log31.tar.gz
    8       总计
    
    ## 说明:
    ## 加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。
    
    
    # 输出当前目录下各个子目录所使用的空间
    $ du -h  --max-depth=1
    608K    ./test6
    308K    ./test4
    32K     ./scf
    8.0K    ./test3
    1.3M    .
    
    

Linux命令-du

上一篇:Linux命令-whoami


下一篇:Linux命令-zip