zoukankan      html  css  js  c++  java
  • 一天一个 Linux 命令(25):du 命令

    一、简介

    Linux下的du (英文全拼:disk usage)命令用于显示目录或文件所占磁盘空间的大小,但是与df命令不同的是du主要查看的目录或文件所占用的磁盘空间,而df是主要查看磁盘的空间。

    二、格式说明

    du [OPTION]... [FILE]...
      or:  du [OPTION]... --files0-from=F
    du [选项]... [文件]...
    
    -0, --null            end each output line with 0 byte rather than newline
      -a, --all             write counts for all files, not just directories
          --apparent-size   print apparent sizes, rather than disk usage; although
                              the apparent size is usually smaller, it may be
                              larger due to holes in ('sparse') files, internal
                              fragmentation, indirect blocks, and the like
      -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,
                               '-BM' prints sizes in units of 1,048,576 bytes;
                               see SIZE format below
      -b, --bytes           equivalent to '--apparent-size --block-size=1'
      -c, --total           produce a grand total
      -D, --dereference-args  dereference only symlinks that are listed on the
                              command line
      -d, --max-depth=N     print the total for a directory (or file, with --all)
                              only if it is N or fewer levels below the command
                              line argument;  --max-depth=0 is the same as
                              --summarize
          --files0-from=F   summarize disk usage of the
                              NUL-terminated file names specified in file F;
                              if F is -, then read names from standard input
      -H                    equivalent to --dereference-args (-D)
      -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
          --inodes          list inode usage information instead of block usage
      -k                    like --block-size=1K
      -L, --dereference     dereference all symbolic links
      -l, --count-links     count sizes many times if hard linked
      -m                    like --block-size=1M
      -P, --no-dereference  don't follow any symbolic links (this is the default)
      -S, --separate-dirs   for directories do not include size of subdirectories
          --si              like -h, but use powers of 1000 not 1024
      -s, --summarize       display only a total for each argument
      -t, --threshold=SIZE  exclude entries smaller than SIZE if positive,
                              or entries greater than SIZE if negative
          --time            show time of the last modification of any file in the
                              directory, or any of its subdirectories
          --time=WORD       show time as WORD instead of modification time:
                              atime, access, use, ctime or status
          --time-style=STYLE  show times using STYLE, which can be:
                                full-iso, long-iso, iso, or +FORMAT;
                                FORMAT is interpreted like in 'date'
      -X, --exclude-from=FILE  exclude files that match any pattern in FILE
          --exclude=PATTERN    exclude files that match PATTERN
      -x, --one-file-system    skip directories on different file systems
          --help     display this help and exit
          --version  output version information and exit
    
    Display values are in units of the first available SIZE from --block-size,
    and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.
    Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
    
    SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
    are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
    

    三、选项说明

    -a -all 显示目录中个别文件的大小
    -B <块大小> 指定显示时的块大小
    -b -bytes 显示目录或文件大小时,以byte为单位,相当于'--apparent-size --block-size=1'
    -c --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
    -D --dereference-args 显示指定符号连接的源文件大小
    -d --max-depth=<目录层数>,超过指定层数的目录后,予以忽略
    -h --human-readable 以K,M,G为单位,提高信息的可读性
    -H --si 与-h参数相同,但是K,M,G是以1000为换算单位
    -k --kilobytes 以1024 bytes为单位,即是以KB为单位显示文件大小
    -l --count-links 重复计算硬件连接的文件
    -L<符号连接> --dereference<符号连接> 显示选项中所指定符号连接的源文件大小
    -m --megabytes 以1MB为单位,即是以MB为单位显示文件大小
    -s --summarize 仅显示总计
    -S --separate-dirs 显示个别目录的大小时,并不含其子目录的大小
    -t --threshold=SIZE 排除小于SIZE的文件
    -x --one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
    -X<文件> --exclude-from=<文件> 在<文件>指定目录或文件
    --exclude=<目录或文件> 略过指定的目录或文件
    --max-depth=<目录层数> 超过指定层数的目录后,予以忽略
    --time 显示目录中文件或其子目录的最后修改时间
    --time=WORD  指定显示哪种时间,atime, access, use, ctime or status
    --time-style=STYLE 使用STYLE显示时,如:full-iso, long-iso, iso,或+FORMAT;格式的解释类似于'date'
    --help 显示帮助
    --version 显示版本信息
    

    四、命令功能

    显示目录或文件所占磁盘空间的大小

    五、常见用法

    5.1 显示当前目录或者文件所占磁盘空间的大小

    # du 
    4       ./test3/test2/test5
    4       ./test3/test2/tmp
    4       ./test3/test2/hello.java
    4       ./test3/test2/test4
    24      ./test3/test2
    28      ./test3
    4       ./test2/test5
    4       ./test2/hello.java
    4       ./test2/test4
    16      ./test2
    60      .
    

    5.2 以易读方式显示当前目录或者文件所占磁盘空间的大小

    # du -h 
    4.0K    ./test3/test2/test5
    4.0K    ./test3/test2/tmp
    4.0K    ./test3/test2/hello.java
    4.0K    ./test3/test2/test4
    24K     ./test3/test2
    28K     ./test3
    4.0K    ./test2/test5
    4.0K    ./test2/hello.java
    4.0K    ./test2/test4
    16K     ./test2
    60K     .
    

    5.3 显示所有目录或者文件的大小

    0       ./test5
    4.0K    ./tree.txt
    0       ./test1.txt
    0       ./link_test.txt
    0       ./hard_link_test.txt
    0       ./test3/test2.txt
    4.0K    ./test3/test2/test2.txt
    4.0K    ./test3/test2/test5
    4.0K    ./test3/test2/tmp
    4.0K    ./test3/test2/hello.java
    4.0K    ./test3/test2/test4
    24K     ./test3/test2
    28K     ./test3
    4.0K    ./test.txt
    0       ./test1_link.txt
    0       ./test2/test2.txt
    4.0K    ./test2/test5
    4.0K    ./test2/hello.java
    4.0K    ./test2/test4
    16K     ./test2
    4.0K    ./ip.txt
    60K     .
    

    5.4 显示当前目录下及子目录所使用的空间

    # du -h --max-depth=1
    28K     ./test3
    16K     ./test2
    60K     .
    

    注意:--max-depth 主要显示指定层数的目录

    5.5 显示当前目录所占用的磁盘空间

    # du -sh
    60K     .
    

    5.6 显示指定文件所占的空间

    # du -h test.txt
    4.0K    test.txt
    

    5.7 显示多个文件所占空间

    # du -h ip.txt  test.txt 
    4.0K    ip.txt
    4.0K    test.txt
    

    5.8 显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

    # du -hc ip.txt  test.txt 
    4.0K    ip.txt
    4.0K    test.txt
    8.0K    total
    

     

  • 相关阅读:
    script:查看历史sql执行信息
    爱在watir(1)----一切从搭讪开始
    最简单的视音频播放演示样例7:SDL2播放RGB/YUV
    Git flow的分支模型与及经常使用命令简单介绍
    操作系统开发之——打开A20
    阿牛的EOF牛肉串-记忆化搜索或动态规划
    LintCode-Copy Books
    Android:Unable to resolve target ‘android-8’问题解决
    编程规范(一 之kmalloc,fflush,fclose,char_init)
    androidannotations的background和UiThread配合使用參考
  • 原文地址:https://www.cnblogs.com/joshua317/p/15399076.html
Copyright © 2011-2022 走看看