Linux查找大目录命令,du --max

当服务器磁盘空间不足时,快速定位占用最大的目录是运维中的常见需求。du 命令配合 --max-depth 参数能帮你逐层查看目录大小,避免盲目翻找。
本文面向零基础用户,从命令格式到实战排错,手把手教你用 du --max-depth 揪出 Linux 系统中的大目录。

适用场景与前置准备

du(disk usage)用于统计目录或文件的磁盘占用量。--max-depth 控制统计深度:--max-depth=1 只显示当前目录下一级子目录的大小,--max-depth=0 等同于只显示当前目录总大小。
该命令适用于服务器磁盘告警、网站根目录膨胀、日志堆积等场景。

开始前,你需要一个 Linux 终端(SSH 或本地终端均可)和基本的目录读写权限。
建议先切换到目标目录,例如 cd /var/log,再执行统计。

核心用法:du --max-depth 命令详解

最常用的形式是 du -h --max-depth=1,其中 -h 表示以易读格式(如 K、M、G)显示大小。
执行后会列出当前目录下每个子目录的大小,最后一行是当前目录的总大小。

du -h --max-depth=1 /var/log

输出示例:

120M    /var/log/nginx
80M     /var/log/mysql
300M    /var/log

若只想看总大小,用 --max-depth=0;
若要深入两层,用 --max-depth=2。深度值越大,扫描文件越多,耗时越长,建议从 1 开始逐层下钻。

分步操作:从磁盘告警到定位大目录

假设收到磁盘使用率超过 90% 的告警,按以下步骤操作:

  1. 查看整体磁盘占用:df -h,确认哪个分区满了。
  2. 进入该分区根目录,例如 cd /。
  3. 统计一级目录大小:du -h --max-depth=1 2>/dev/null | sort -hr。sort -hr 按数值降序排列,2>/dev/null 屏蔽权限报错。
  4. 找到最大的目录后进入,重复步骤 3,直到定位到具体文件。
  5. 对确认无用的大文件(如旧日志、缓存),用 rm 清理或 logrotate 管理。

关键点:du 统计的是磁盘占用,与 ls -l 显示的文件大小可能不同(稀疏文件或块大小影响)。

避坑指南:常见报错与注意事项

  • 权限不足报错:普通用户执行 du 遇到 Permission denied,可加 sudo 或重定向错误输出 2>/dev/null。
  • 统计结果偏慢:目录内文件极多时,du 会遍历所有 inode。可先限制深度,或使用 --exclude 排除已知小目录。
  • 硬链接重复计算:du 默认会重复计算硬链接,若需去重可加 -l 参数(部分系统支持)。
  • 不要直接删除正在写入的日志:用 > filename 清空而非 rm,避免文件句柄未释放导致空间不回收。
  • --max-depth 与 -d 等价:短选项 -d 1 更简洁,效果相同。

效果验证与结果确认

执行清理后,重新运行 df -h 查看分区使用率是否下降。
再用 du -sh /path/to/dir 确认目标目录大小变化。
若空间未释放,检查是否有进程仍占用已删除文件:lsof | grep deleted,重启对应服务即可。

可独立摘录的结论:

  • du --max-depth=1 是定位一级大目录最快的方法,配合 sort -hr 能直接看到排名。
  • 扫描深度越大耗时越长,生产环境建议从深度 1 开始逐层缩小范围。
  • 清理日志文件时,优先使用 > filename 清空,而不是直接删除。

常见疑问

du 和 df 结果为什么不一致?
df 统计文件系统层面的已用块,du 统计文件占用的块。若文件被删除但进程仍持有句柄,df 会显示占用而 du 不会。

如何只查看大于 1G 的目录?
结合 du 和 awk:du -h --max-depth=1 | awk '$1 ~ /G/',但注意单位换算不精确,更推荐 du -b --max-depth=1 | awk '$1 > 1073741824'。

du 命令卡住怎么办?
可能是遍历了挂载的网络文件系统或海量小文件。用 timeout 30 du -h --max-depth=1 限制执行时间,或通过 -x 参数限制在同一文件系统内。

掌握 du --max-depth 用法后,你可以快速应对大多数磁盘空间问题。
建议在测试环境先练习,再应用到生产服务器。

分享到:
上一篇
Redis内存淘汰策略,maxmemory
下一篇
Linux查看系统运行时间,uptime命令解读
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意