基本用法
直接在终端输入 df
即可查看所有挂载文件系统的磁盘使用情况:
df
输出示例:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 20961280 5212480 15748800 25% /
tmpfs 816896 0 816896 0% /dev/shm
常用选项与参数
-
人类可读格式(-h)
自动转换单位为 KB、MB、GB:df -h
输出:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 5.0G 15G 25% /
-
显示文件系统类型(-T)
在结果中增加Type
列:df -T
输出:
Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 20961280 5212480 15748800 25% /
-
查看特定目录/设备
指定目录或设备路径(如/home
):df -h /home
-
显示 inode 使用情况(-i)
检查索引节点(inode)数量而非磁盘空间:df -i
输出:
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1.3M 124K 1.2M 10% /
-
排除特定文件系统(-x)
忽略 tmpfs 等类型:df -h -x tmpfs # 不显示tmpfs文件系统
高级用法
-
汇总总使用量(–total)
在末尾添加总计行:df -h --total
-
按使用率排序
结合sort
命令排序(例如降序):df -h | sort -k5 -rn # 按Use%列数值降序
-
仅显示本地文件系统(-l)
过滤网络存储等远程文件系统:df -l
常见问题解决
-
Q:
df
显示使用率超过 100%?
A:部分文件系统(如 ext3/ext4)默认保留 5% 空间供 root 使用,可通过tune2fs -m 1 /dev/sda1
调整保留比例。 -
Q:磁盘空间足够但程序报“磁盘已满”?
A:检查 inode 是否耗尽:df -i
,若IUse%
达 100%,需删除小文件释放 inode。 -
Q:挂载点未显示?
A:使用df -a
包含所有伪文件系统(如 /proc、/sys)。
安全提示
- 普通用户可直接运行
df
,查看系统信息无需 root 权限。 - 敏感目录(如
/proc
)信息可能暴露系统状态,生产环境中慎用-a
选项。
应用场景示例
-
服务器维护
每日检查关键分区:df -h / /var /home
-
排查磁盘不足
快速定位满盘分区:df -h | grep -vE '^Filesystem|tmpfs' | sort -k5 -rn
-
监控脚本
结合awk
设置阈值告警(>90%):df -h | awk '0+$5 >= 90 {print "警报: " $1 " 使用率 " $5}'
引用说明参考 Linux 官方手册(
man df
)、Filesystem Hierarchy Standard 标准及运维实践,命令兼容主流 Linux 发行版(Ubuntu/CentOS等)和 Unix 环境(macOS/BSD)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6271.html