df命令

df 命令 #

df命令(disk free)用于显示文件系统的磁盘空间使用情况。它报告每个已挂载文件系统的总空间、已用空间、可用空间和使用率。

语法 #

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

常用选项 #

选项 描述
-a, --all 显示所有文件系统,包括虚拟文件系统
-h, --human-readable 以人类可读的格式显示大小(KB, MB, GB)
-H, --si 类似于-h,但使用 1000 而不是 1024 作为单位换算基数
-i, --inodes 显示 inode 信息而不是块使用情况
-k 以千字节为单位显示大小
-m 以兆字节为单位显示大小
-T, --print-type 显示文件系统类型
-x, --exclude-type=类型 排除指定类型的文件系统
--total 显示总计行

常见用法 #

1. 显示所有已挂载文件系统的使用情况 #

df

输出示例:

Filesystem     1K-blocks      Used Available Use% Mounted on
udev             8139880         0   8139880   0% /dev
tmpfs            1635440      1908   1633532   1% /run
/dev/sda1      102687360  51343680  46121292  53% /
tmpfs            8177188     83104   8094084   2% /dev/shm
tmpfs               5120         4      5116   1% /run/lock

2. 以人类可读的格式显示 #

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.9M  1.6G   1% /run
/dev/sda1        98G   49G   44G  53% /
tmpfs           7.8G   82M  7.7G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock

3. 显示文件系统类型 #

df -T

输出示例:

Filesystem     Type     1K-blocks      Used Available Use% Mounted on
udev           devtmpfs   8139880         0   8139880   0% /dev
tmpfs          tmpfs      1635440      1908   1633532   1% /run
/dev/sda1      ext4     102687360  51343680  46121292  53% /
tmpfs          tmpfs      8177188     83104   8094084   2% /dev/shm
tmpfs          tmpfs         5120         4      5116   1% /run/lock

4. 显示 inode 使用情况 #

df -i

输出示例:

Filesystem      Inodes  IUsed    IFree IUse% Mounted on
udev           2034970    549  2034421    1% /dev
tmpfs          2044485    726  2043759    1% /run
/dev/sda1      6553600 312450  6241150    5% /
tmpfs          2044485     27  2044458    1% /dev/shm
tmpfs          2044485      6  2044479    1% /run/lock

5. 显示特定文件系统的使用情况 #

df -h /dev/sda1

df -h /

6. 排除特定类型的文件系统 #

df -h -x tmpfs -x devtmpfs

这将显示除 tmpfs 和 devtmpfs 之外的所有文件系统。

7. 显示总计 #

df -h --total

输出示例:

Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.9M  1.6G   1% /run
/dev/sda1        98G   49G   44G  53% /
tmpfs           7.8G   82M  7.7G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
total          121G   49G   66G  43% -

8. 显示所有文件系统,包括虚拟文件系统 #

df -a

9. 以 MB 为单位显示 #

df -m

10. 检查特定目录所在的文件系统空间 #

df -h /home

输出列解释 #

  • Filesystem:文件系统的设备名或挂载点
  • Size/1K-blocks:文件系统的总大小
  • Used:已使用的空间
  • Avail/Available:可用空间
  • Use%:使用率百分比
  • Mounted on:挂载点(文件系统在目录树中的位置)

使用-T选项时,还会显示Type列,表示文件系统类型(如 ext4, xfs, btrfs 等)。

使用-i选项时,会显示 inode 相关信息:

  • Inodes:总 inode 数
  • IUsed:已使用的 inode 数
  • IFree:可用的 inode 数
  • IUse%:inode 使用率百分比

提示 #

  • 使用-h选项可以获得最易读的输出格式
  • 文件系统使用率达到 85%以上时应该引起注意
  • inode 耗尽也会导致无法创建新文件,即使还有可用空间
  • 在某些系统上,df可能显示超过 100%的使用率,这通常是因为保留了一些空间供 root 用户使用
  • 使用-T选项可以帮助识别不同类型的文件系统
  • df命令显示的是文件系统级别的空间使用情况,要查看目录级别的使用情况,应使用du命令
  • 在脚本中使用df时,可以使用--output选项选择特定的输出列
  • 使用watch df -h可以实时监控磁盘使用情况