《每日一命令14:df——磁盘空间去哪了?》
本期摘要df是Linux下查看磁盘空间使用情况的命令。与du不同df看的是文件系统的整体使用情况而du看的是单个目录/文件的大小。掌握df -h人类可读、df -i查看inode、df -T显示文件系统类型就能快速判断磁盘是否满了、inode是否耗尽、以及哪个分区有问题。本文还提供了df与du结果不一致时的排查思路。df是什么df Disk Free报告文件系统的磁盘空间使用情况。它从文件系统层面统计已用、可用、使用百分比。与du的区别命令统计范围典型场景df整个文件系统分区看磁盘还剩多少空间du指定目录或文件定位哪个目录/文件占空间最常用的5种姿势1. 人类可读格式bashdf -h输出示例textFilesystem Size Used Avail Use% Mounted on /dev/sda1 40G 20G 18G 53% /-h将大小自动转为K、M、G适合日常查看。2. 显示所有文件系统包括虚拟bashdf -a会显示 proc、sysfs、tmpfs 等临时文件系统一般不用。3. 查看 inode 使用情况bashdf -iinode 用满时即使磁盘还有空间也无法创建新文件。常见于小文件过多的场景比如邮件服务器、缓存目录。4. 显示文件系统类型bashdf -T输出会多一列Type如ext4、xfs、tmpfs。格式化或挂载时很有用。5. 只查看指定文件系统bashdf -h /var只看/var分区不用翻页。进阶技巧结合sort按使用率排序bashdf -h | awk NR1 || NR1 {print $5,$6} | sort -rnawk提取使用率和挂载点sort -rn按百分比降序排列最满的分区排最前面。排除 tmpfs 等虚拟文件系统bashdf -h -t ext4 -t xfs只显示 ext4 和 xfs 类型的真实磁盘。写监控脚本bash#!/bin/bash USAGE$(df -h / | awk NR2 {print $5} | sed s/%//) if [ $USAGE -gt 80 ]; then echo 根分区使用率超过80% fi真实场景场景1磁盘明明有空间却报“设备已满”→ 用df -i检查 inode 是否耗尽。如果IUse%达到100%说明小文件太多需要删除。场景2df 显示已用很大但 du 找不出大文件可能性有进程删除了文件但未释放句柄幽灵文件文件被挂载点覆盖排查bashlsof | grep deleted # 找幽灵文件 mount | grep on /var # 检查是否有子挂载点遮蔽场景3想看看哪个分区最紧张bashdf -h | sort -k5 -rn | head -5-k5按第五列Use%排序。常用参数速查参数含义-h人类可读-i查看inode-T显示文件系统类型-t只显示指定类型-x排除指定类型--total显示总计下期预告《每日一命令15du——深度分析磁盘占用》
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2567375.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!