售前咨询400-838-0503

如何查找占用空间大的目录?

技术文档 2025-04-16 21:33

5种高效方法:快速查找Linux系统中占用空间大的目录

当您的Linux服务器或电脑存储空间告急时,如何快速找出占用空间最大的目录?本文将介绍5种专业运维人员常用的方法,帮助您精准定位"空间杀手",释放宝贵存储资源。

方法一:使用du命令进行深度分析

du(disk usage)是Linux系统自带的磁盘分析利器,推荐以下高效组合命令:

# 查看当前目录各子目录大小(按MB显示)
du -h --max-depth=1 | sort -hr

# 完整扫描系统并排序(可能需要sudo权限)
sudo du -xh / --max-depth=3 | sort -rh | head -20

参数解析:

  • -h:人类可读格式(KB/MB/GB)
  • --max-depth:指定扫描层级
  • -x:不跨越文件系统边界
  • sort -rh:按数值倒序排列

方法二:ncdu - 交互式磁盘分析神器

对于喜欢可视化操作的用户,ncdu(NCurses Disk Usage)是更好的选择:

# 安装(Ubuntu/Debian)
sudo apt install ncdu

# 扫描指定目录
ncdu /var

特色功能:

  • 彩色交互界面
  • 支持目录导航和删除操作
  • 可导出扫描结果
  • 比图形工具更节省资源

方法三:结合find命令定位大文件

有时大文件才是真正的空间杀手,这个命令组合能快速找出它们:

# 查找大于100MB的文件并排序
find / -type f -size +100M -exec du -h {} + | sort -rh

进阶技巧:

  • -size +1G:查找大于1GB的文件
  • -mtime +30:查找30天前的旧文件
  • -name "*.log":按扩展名筛选

方法四:图形化工具推荐

对于桌面用户,这些图形工具更直观:

  1. Baobab(GNOME磁盘用量分析器)
  2. QDirStat(KDE系经典工具)
  3. FileLight(环形可视化显示)

方法五:自动化监控方案

对于服务器环境,建议设置定期扫描:

# 每周扫描并将结果邮件通知
0 3 * * 0 root du -xh / --max-depth=3 | sort -rh | head -50 > /var/log/disk_usage.log

常见空间占用大户

目录常见大文件清理建议
/var/log系统日志配置logrotate
/var/cache软件包缓存apt clean/yum clean
/home用户文件查找大视频/镜像
/tmp临时文件定期清理

注意事项

  • 扫描根目录需要root权限
  • 生产环境避免高峰时段扫描
  • 删除系统文件前务必确认
  • 重要数据建议先备份

掌握这些方法后,您将能快速诊断存储空间问题。建议将常用命令保存为脚本或alias,提升工作效率。定期磁盘空间检查应该是每个系统管理员的例行工作,防患于未然比紧急抢救更重要!

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单