013 df命令

命令说明

df(disk free)用于查看文件系统(磁盘分区)的总容量、已用空间、可用空间及挂载点,是排查磁盘满问题的第一条命令。

语法

df [选项]... [文件]...

常用参数

参数说明
-h以人类可读单位(K/M/G/T)显示,最常用
-H以 1000 进制(而非 1024)显示
-a显示所有文件系统,包括大小为 0 的
-i显示 inode 使用情况而非空间大小
-T同时显示文件系统类型(ext4、xfs、tmpfs 等)
-x 类型排除某类文件系统,如 -x tmpfs
--total在末尾显示总计

使用示例

$ df -h

以易读方式查看所有分区使用情况

$ df -Th

同时显示文件系统类型

$ df -i

查看 inode 使用率(小文件过多时会耗尽)

$ df -h /data

查看 /data 所在分区的使用情况

$ df -x tmpfs -x devtmpfs

排除临时文件系统,只看真实磁盘

实用技巧

  • df 显示的是分区整体占用;du 显示的是目录占用。两者不一致时,多半是有已删除但被进程占用的文件。
  • 磁盘 100% 但 du 统计远小于此:用 lsof | grep deleted 找出被占用的已删文件并重启相关服务。
  • inode 用尽(df -i 显示 100%)同样会导致无法创建文件,即使磁盘空间充足;常见于大量小文件场景。
  • 配合 grep 只看某分区:df -h | grep -E "Filesystem|/dev/sda"。