用 du 找出占用磁盘空间最大的目录
统计每个直接子目录的大小,并从小到大排序,最大的目录会排在最下面。
在要分析的目录里执行 du -h --max-depth=1 . | sort -h,即可列出各子目录大小,最大的排在最后。
01命令
命令
$ du -h --max-depth=1 . | sort -h02作用说明
du 会遍历目录树并累加文件大小,--max-depth=1 让它只输出每个子目录的总大小,而不是每一层嵌套路径。sort -h 能正确理解 du 输出的 K/M/G 后缀,因此排序结果按大小排列。通常从 /var、/home 或 / 开始,然后进入最大的目录重复执行,逐层下钻。加 sudo 可统计无读取权限的文件,-x 只统计同一文件系统(避免 /proc 等挂载点干扰);注意 du 统计的是分配的块大小,稀疏文件可能显示得比实际大。
03风险
!注意: 对非常大的目录树(比如整个 /)运行 du 会比较慢且大量读盘——在较慢的系统上建议改用交互式的 ncdu。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- du(1) — estimate file space usage依据: The du man page documents '--max-depth=N' to limit the depth of directory reporting and '-h' for human-readable sizes.
最后验证: 2026-09-17 · 分类: 文件与文件夹