du — 查看目录/文件磁盘占用

du 统计文件或目录占用的磁盘空间。

命令说明

du 递归计算目录树中所有文件的总大小。它可以帮助识别占用磁盘空间最多的文件和目录。

应用场景

  • 找出大文件/大目录
  • 排查磁盘空间被什么占用
  • 统计项目大小
  • 清理空间前的调查
  • 检查备份大小

常用示例

示例 1:查看当前目录占用

bash
复制代码
du -sh .
plaintext
复制代码
256M    .

示例 2:查看目录中每个子目录的大小

bash
复制代码
du -sh */
plaintext
复制代码
128K    Documents/
256M    Downloads/
512K    Pictures/

示例 3:排序显示最大的目录

bash
复制代码
du -h --max-depth=1 /home/alice | sort -rh | head -10

示例 4:显示每个文件的大小

bash
复制代码
du -ah --max-depth=1

示例 5:只统计文件(不包含目录)

bash
复制代码
du -ch *.log

示例 6:查看指定目录的深度统计

bash
复制代码
du -h --max-depth=2 /var/log

help 参数详解

参数 长参数 说明
-h --human-readable 人类可读格式
-s --summarize 只显示总计
-a --all 显示所有文件(不仅目录)
-c --total 显示总计
-k 以 KB 为单位
-m 以 MB 为单位
-b --bytes 以字节为单位
--max-depth=N 限制最大深度
-x --one-file-system 不跨文件系统
-L --dereference 跟随符号链接
-P --no-dereference 不跟随符号链接(默认)
--exclude=PATTERN 排除匹配模式的文件
--time 显示文件/目录最后修改时间
-D --dereference-args 跟随命令行中的符号链接参数