linux: du用法详解

发布于:2024-03-29 ⋅ 阅读:(19) ⋅ 点赞:(0)


1. 描述

du 是一个常用的 Linux/Unix 命令,用于显示目录或文件的磁盘使用情况。du 表示 “disk usage”,它可以帮助你了解文件和目录所占用的磁盘空间大小。以下是对 du 命令的详细解释和用法:

2. 语法

du [OPTION]... [FILE]...

3. 参数

所有参数:

  -0, --null            end each output line with NUL, not 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

常见选项解释:

  • -h:以人类可读的格式显示磁盘使用量(例如,KB、MB、GB 等)。
  • -s:显示指定目录的总大小,而不显示其子目录的大小。
  • -c:显示总计磁盘使用量。
  • -a:显示所有文件和目录的大小,包括隐藏文件。
  • -k:以 KB 为单位显示磁盘使用量(默认单位)。
  • -m:以 MB 为单位显示磁盘使用量。
  • -g:以 GB 为单位显示磁盘使用量。

注意事项:

  • 默认情况下,du 命令递归地显示目录中所有文件和子目录的大小。可以使用 -s 选项来仅显示指定目录的总大小,而不显示子目录的大小。
  • 为了节省时间和资源,du 命令不会跟踪符号链接指向的文件或目录。如果需要跟踪符号链接,则可以使用 -L 选项。

4. 例子

显示当前目录下所有文件和子目录的磁盘使用量:

  du

显示指定目录的磁盘使用量(以 KB 为单位):

  du /path/to/directory

显示指定目录的总大小(以 MB 为单位,以人类可读的格式显示):

  du -sh /path/to/directory

显示指定目录的总大小和子目录的大小(以 GB 为单位):

  du -sh /path/to/directory/*

显示当前目录下所有文件和目录的总计磁盘使用量:

  du -c
本文含有隐藏内容,请 开通VIP 后查看