先用df -h定位高占用分区,再用du -sh * | sort -hr分层下钻查大目录,如/var/log、/var/lib等,结合--exclude跳过虚拟文件系统,逐级深入定位具体大文件或日志目录。

直接用 du -sh * 配合排序,就能快速看到当前目录下各子目录的大小。
先看整体分区使用情况
运行 df -h,确认哪个挂载点(比如 / 或 /home)使用率偏高。这是排查起点——如果根分区已 90%+,才值得往下深挖目录。
定位大目录:当前层级汇总
进入目标分区(如 cd /),执行:
-
du -sh * 2>/dev/null | sort -hr—— 显示所有一级子目录总大小,按从大到小排 -
du -sh --max-depth=1 . 2>/dev/null | sort -hr—— 效果相同,更明确限定深度
输出类似:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
32G /var<br>18G /usr<br>8.5G /home
说明
/var 是重点嫌疑对象。逐层深入,找到具体占用源
进到可疑目录(如 cd /var),再运行一次:
du -sh * 2>/dev/null | sort -hr- 常见结果:
25G /log、4.2G /lib、1.8G /cache
继续进 /var/log,重复该命令,往往就能看到具体日志文件或归档目录(如 journal、nginx/access.log)。
补充技巧:快速筛选和排除
遇到海量小文件时,可加限制:
- 只看大于 100MB 的项:
du -sh * 2>/dev/null | awk '$1 > 100 {print}' | sort -hr - 跳过特定目录(如避免扫描
/proc):du -sh --exclude='proc' --exclude='sys' * 2>/dev/null | sort -hr
不复杂但容易忽略。










