悠悠楠杉
如何检查Linux磁盘空间使用率df与du命令组合使用技巧
标题:Linux磁盘空间管理:df与du命令高效组合使用指南
关键词:Linux磁盘空间, df命令, du命令, 磁盘分析, 系统管理
描述:本文详解Linux中df与du命令的组合使用技巧,通过实际案例演示如何精准分析磁盘空间占用情况,并提供高级用法解决常见存储问题。
正文:
在Linux系统管理中,磁盘空间监控是每个运维人员的必修课。当服务器突然告警磁盘不足时,如何快速定位"罪魁祸首"?掌握df和du这对黄金组合命令,能让你像老练的侦探一样抽丝剥茧找到问题根源。
一、基础侦查:df命令全局扫描
df(Disk Filesystem)命令如同系统的雷达扫描仪,它能瞬间呈现所有挂载点的空间概况。执行以下命令获取人类可读的格式报告:
df -h输出示例会显示每个文件系统的总容量(Size)、已用量(Used)、可用量(Avail)和使用百分比(Use%)。当某个分区的使用率超过80%时,就该拉响警报了。
实用技巧:
- 添加-T参数显示文件系统类型(ext4/xfs等)
- 使用--total汇总所有分区的统计数据
二、深度取证:du命令精确追踪
当df显示某个分区空间紧张时,du(Disk Usage)就该登场了。这个命令能递归计算目录的实际磁盘用量,是查找"空间黑洞"的利器。基础用法:
du -sh /var/log/其中-s表示汇总统计,-h转为易读格式。如果想找出/var下所有子目录的大小排名:
du -h --max-depth=1 /var | sort -h高阶技巧:
1. 排除特定目录:--exclude="*.cache"
2. 显示修改时间:--time配合分析老旧文件
3. 跨文件系统统计:-x避免统计挂载点
三、组合技实战案例
场景:/home分区突然爆满,需要快速定位大文件
第一步:用df确认问题分区
df -h /home第二步:使用du进行三级深度扫描
du -h --max-depth=3 /home | sort -rh | head -20第三步:针对可疑目录精细分析
find /home/user/downloads -type f -size +100M -exec ls -lh {} \;四、特殊问题解决方案
已删除文件仍占用空间:
当进程持有已删除文件的句柄时,用lsof +L1查找并重启相关进程稀疏文件检测:
du --apparent-size显示逻辑大小,与物理大小对比发现稀疏文件自动清理脚本:
结合crontab定期清理日志:
find /var/log -type f -mtime +30 -delete五、可视化工具推荐
对于习惯图形界面的用户,可以安装:
- ncdu:交互式磁盘分析器
- baobab:GNOME磁盘使用分析器
记住,定期检查磁盘空间就像给系统做体检,预防永远比抢救更重要。建议将关键分区的监控纳入日常巡检流程,配合监控系统设置自动告警,才能防患于未然。
