du - 统计文件和目录空间占用

du 估算文件或目录实际占用的磁盘空间。不指定路径时统计当前目录。

常用参数

  • -h--human-readable:使用 KiB、MiB、GiB 等易读单位。
  • -s--summarize:只显示每个参数的总计。
  • -a--all:同时显示文件。
  • -c--total:最后显示全部参数的总和。
  • -d N--max-depth=N:限制显示的目录深度。
  • -x--one-file-system:跳过其他文件系统上的目录。
  • --apparent-size:显示文件逻辑大小,而不是实际占用块数。
  • --exclude=PATTERN:排除匹配的路径。

使用示例

# 当前目录总大小
du -sh .
 
# 多个目录及总计
du -ch project_a project_b
 
# 当前目录下一级项目的大小
du -h --max-depth=1 .
 
# 只显示一级目录,并按易读大小排序
du -h --max-depth=1 . | sort -h
 
# 限制在当前文件系统
du -xh --max-depth=1 /

-d 是 GNU du 的短选项;为兼容较旧环境,可以使用 --max-depth=N

实际占用与逻辑大小

稀疏文件、压缩文件系统和硬链接会使 du 的结果与文件逻辑大小或简单相加结果不同。需要查看单个文件的逻辑字节数时,可使用:

stat -c '%s' filename

参考资料