du
命令会逐个显示每个 文件
(默认情况下为当前目录) 的磁盘使用情况。 磁盘使用情况以块为单位显示,除非环境变量 POSIXLY_CORRECT
已设置,在这种情况下,默认情况下会使用 1024 字节的块 (请参阅 -k
选项)。
如果 文件
是目录,则会递归地显示其所有子目录的大小。
常用:
du -h -d 1 /dir
选项:
-0, --null: 以 NUL 字符而不是换行符分隔文件名。
-a, --all: 显示所有文件和目录的大小,而不仅仅是目录。
--apparent-size: 以字节为单位打印每个文件的表观大小,而不是磁盘使用情况。 表观大小是文件中数据块的数量乘以文件系统块大小的结果,它可能大于或小于文件的实际大小。
-B, --block-size=SIZE: 使用
SIZE
字节的块大小。SIZE
可以是以下格式之一:数字
带有后缀的数字,表示乘数:
KB
1000K
1024MB
1000*1000M
1024*1024GB
1000*1000*1000G
1024*1024*1024等等,对于
T
,P
,E
,Z
,Y
。
-b, --bytes: 相当于
--apparent-size --block-size=1
。-c, --total: 在所有参数之后打印总计。
-D, --dereference-args: 将命令行参数中给出的符号链接取消引用。
-d, --max-depth=N: 仅打印
N
级目录深度内的信息。-d 0
与-d 1
相同。--files0-from=F: 从文件
F
中读取以 NUL 字符结尾的文件名列表,并计算这些文件的大小。-H: 相当于
--dereference-args (-D)
。-h, --human-readable: 以人类可读的格式打印大小 (例如,1K 234M 2G)。
--inodes: 打印 inode 使用情况信息,而不是块使用情况。
-k: 相当于
--block-size=1K
。-L, --dereference: 如果参数是指向目录的符号链接,则跟随该链接。
-l, --count-links: 如果文件有多个硬链接,则多次计算其大小。
-m: 相当于
--block-size=1M
。-P, --no-dereference: 不跟随任何符号链接 (这是默认行为)。
-S, --separate-dirs: 不包含子目录的大小在目录的大小中。
-s, --summarize: 仅显示每个参数的总计。
--si: 与
-h
类似,但使用 1000 而不是 1024 的幂。--time: 显示访问时间,而不是磁盘使用情况。
--time=WORD: 显示指定时间,而不是磁盘使用情况。
WORD
可以是以下之一:atime
,access
,use
: 文件上次访问的时间。ctime
,status
: 文件状态上次更改的时间。mtime
,modify
: 文件内容上次修改的时间。
-X, --exclude-from=FILE: 排除与
FILE
中指定的模式匹配的文件和目录。--exclude=PATTERN: 排除与
PATTERN
匹配的文件和目录。-x, --one-file-system: 跳过位于不同文件系统上的目录中的文件。
--help: 显示帮助信息并退出。
--version: 输出版本信息并退出。
示例:
显示当前目录的磁盘使用情况:
du
显示
/home
目录的磁盘使用情况,以人类可读的格式表示:du -h /home
显示当前目录及其子目录中所有文件的磁盘使用情况,以字节为单位:
du -ab
显示当前目录的磁盘使用情况,最大深度为 2:
du -d 2