用 du -sh | sort -rh | head -10 快速定位当前目录最大10项;加 .[!.] 包含隐藏项,加 -x 防跨文件系统,--max-depth=1 深入一层分析,-a 展开文件,--exclude 跳过无意义目录。

直接用 du 配合 sort 和 head 就能快速定位最大文件和目录,不需要额外工具。关键不是“全扫一遍”,而是分层递进、排除干扰、精准排序。
只看当前目录一级子项(最快起点)
这是排查效率最高的第一步,避免递归爆炸:
-
du -sh * | sort -rh | head -10—— 列出当前目录下所有非隐藏项的总大小,按从大到小排前10 - 要包含隐藏目录(如
.cache、.config),改用:du -sh .[!.]* * | sort -rh | head -10 - 加
-x防跨文件系统误统计:du -shx * | sort -rh | head -10,尤其查/或/home时必须加
深入一层找大目录(比如 /var/log 下谁最占空间)
锁定目标目录后,再往下探一层,快速识别“元凶级”子目录:
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
du -h --max-depth=1 /var/log | sort -rh | head -10-
--max-depth=1表示只统计/var/log直接子目录(如nginx/、mysql/),不进更深层级 - 结果里出现
1.2G /var/log/nginx就说明问题大概率在它里面
列出所有文件并排序(真正找大文件)
当需要定位具体大文件(如日志、core dump、备份包),用 -a 显式展开文件:
du -ah /var/log 2>/dev/null | sort -rh | head -10-
-a让 du 输出每个文件(不只是目录),2>/dev/null屏蔽权限错误 - 注意:
sort -rh中的-h必不可少,否则999M会排在1.2G前面 - 若只想看大于 100MB 的文件,可加过滤:
... | grep '^[0-9.]\+[MG]' | head -10
跳过无意义目录加速分析
避免 du 卡在 node_modules、.git、/proc 等地方:
du -shx --exclude={node_modules,.git,__pycache__} * | sort -rh | head -5-
--exclude支持多个值,用花括号包裹,逗号分隔(bash 语法) - 路径需匹配 du 实际遍历路径:从
/开始查,写--exclude="/var/lib/docker";在/home下查,写--exclude="user/.local/share/Trash"










