在Linux系统中,`df`是一个用于显示磁盘文件系统空间使用情况的命令行工具,全称为Disk Filesystem。其核心功能是统计挂载的文件系统的总容量、已用空间、剩余空间以及挂载点信息。以下是详细解析:
1. 基本功能
空间统计:默认输出所有挂载文件系统的信息,包括`/dev/sda1`等设备。
单位自动适配:自动以KB、MB、GB等易读单位显示数据,避免纯字节数难以阅读。
文件系统类型:通过`-T`参数显示文件系统类型(如ext4、xfs)。
2. 常用参数
`-h`:人性化显示(Human-readable),自动转换单位。
`-a`:包含虚拟文件系统(如`proc`、`sysfs`)。
`-i`:显示inode使用情况而非磁盘空间。
`-t <类型>`:仅显示指定类型的文件系统(如`-t ext4`)。
3. 高级应用
结合`du`命令:`df`查看整体利用率,`du`分析具体目录占用,两者互补。
监控阈值:通过脚本解析`df`输出,实现磁盘告警(例如剩余空间低于10%时触发通知)。
NFS/远程存储:显示网络文件系统的挂载状态和容量。
4. 与其他命令的关联
`mount`:`df`的输出依赖于`/proc/mounts`,与`mount`命令显示的挂载点一致。
`lsblk`:侧重物理设备层次结构,`df`聚焦文件系统空间,联合使用可全面了解存储状态。
5. 输出字段解析
Filesystem:设备路径或网络存储地址。
1K-blocks:以1KB为块单位的总容量。
Used/Available:已用和剩余空间(注意部分系统保留5%空间给root)。
Use%:使用百分比,需警惕超过90%的情况。
Mounted on:挂载点路径。
6. 常见问题
空间未释放:删除文件后`df`仍显示占用?可能是文件被进程占用(需`lsof`排查)。
伪文件系统干扰:`tmpfs`等内存文件系统可能影响统计,可通过`-x tmpfs`过滤。
Linux的`df`是系统管理的基础工具,熟练掌握可快速定位存储瓶颈,建议搭配`grep`、`awk`进行自动化分析。对于LVM或btrfs等高级存储方案,需结合`lvdisplay`或`btrfs filesystem show`等专用命令。