7140

36 分钟

#Bash 的 du 命令

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

功能

估算文件空间占用。

类型

可执行文件(/usr/bin/du),属于 coreutils

参数

  • OPTION 选项:
    • -0, --null - 以空字符(\0)作为行的结尾,而不是换行符(\n
    • -a, --all - 所有文件写入计数,而不只是目录
    • --apparent-size - 打印实际大小而非设备使用量
    • -B, --block-size=SIZE - 指定单位,例如 -B 4K 表示以 4096 字节为单位
    • -b, --bytes - 等价于 --apparent-size --block-size=1
    • -c, --total - 得出总计数据
    • -D, --dereference-args - 参数是符号链接时,查看源文件
    • -d, --max-depth=N - 查看目录下最大深度不超过 N 的文件;参数目录自身深度为 0
    • --files0-from=F - 从文件 F 中读取没有了列表,空字符(\0)分隔
    • -H - 等价于 --dereference-args
    • -h, --human-readable - 自动添加单位以便人类阅读, 1K 表示 1024 字节
    • --inodes - 列出 inode 信息而不是块占用
    • -k - 等价于 -B 1K
    • -L, --dereference - 符号链接查看源文件,而非符号链接本身
    • -l, --count-links - 硬链接多次计算大小
    • -m - 等价于 -B 1M
    • -P, --no-dereference - 符号链接查看本身,而非源文件
    • -S, --separate-dirs - 目录的大小不包括子目录的大小
    • --si - 自动添加单位以便人类阅读,1K 表示 1000 字节
    • -s, --summarize - 仅显示每个参数的总计数据
    • -t, --threshold=SIZE - 忽略小于 SIZE 的条目
    • --time - 显示文件的最后修改时间
    • --time=WORD - 显示 WORD 格式的时间:atime, access, use, ctimestatus
    • --time-style=STYLE - 显示 STYLE 风格的时间:full-iso, long-iso, iso, +FORMAT(参考 date
    • -X, --exclude-from=FILE - 排除与 FILE 文件中的模式匹配的文件
    • --exclude=PATTERN - 排除匹配模式 PATTERN 的文件
    • -x, --one-file-system - 跳过不同文件系统中的目录
    • --help - 显示帮助
    • --version - 显示版本
  • FILE - 文件列表;默认查看当前工作目录

#示例

$ sudo du -d 1 -h . # 当前目录,最大深度为 1 25M ./dir1 4.0K ./dir2 26M .

#推荐阅读

#手册

DU(1) User Commands DU(1) NAME du - estimate file space usage SYNOPSIS du [OPTION]... [FILE]... du [OPTION]... --files0-from=F DESCRIPTION Summarize device usage of the set of FILEs, recursively for directo‐ ries. Mandatory arguments to long options are mandatory for short options too. -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 device usage; although the ap‐ parent 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 device usage of the NUL-terminated file names speci‐ fied 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 environ‐ ment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,... (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on. PATTERNS PATTERN is a shell pattern (not a regular expression). The pattern ? matches any one character, whereas * matches any string (composed of zero, one or multiple characters). For example, *.o will match any files whose names end in .o. Therefore, the command du --exclude='*.o' will skip all files and subdirectories ending in .o (including the file .o itself). AUTHOR Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO Full documentation <https://www.gnu.org/software/coreutils/du> or available locally via: info '(coreutils) du invocation' GNU coreutils 9.4 April 2024 DU(1)

创建于 2025/11/15

更新于 2025/11/15