Linux df 命令详解
文章目录
- Linux `df` 命令详解
- 基本语法
- 常用选项及参数
- 示例解析
- 常见使用场景
- 总结
Linux df
命令详解
df
(disk free) 命令用于查看文件系统的磁盘空间使用情况。它可以显示每个挂载点的可用空间、已用空间、总空间等信息,是监控磁盘使用情况的重要工具。df
命令的输出结果能够帮助系统管理员和用户了解当前文件系统的存储状态,以便及时调整磁盘管理策略。
基本语法
df [选项]... [文件]...
常用选项及参数
选项 | 说明 |
---|---|
-a | 显示所有文件系统,包括那些大小为 0 的伪文件系统(例如 /proc )。 |
-h | 以人类可读的格式显示,使用适合大小的单位(如 KB、MB、GB)。 |
-H | 与 -h 类似,但使用 1000 作为单位进制(而不是 1024)。 |
-T | 显示文件系统类型。 |
-i | 显示 inode 信息而不是块使用情况。 |
-l | 仅显示本地文件系统。 |
--total | 显示所有文件系统的总使用情况。 |
-P | 采用 POSIX 输出格式,确保输出可以轻松解析(如在脚本中使用)。 |
--sync | 在显示磁盘使用情况之前尝试同步所有挂载的文件系统。 |
-B SIZE | 以指定的块大小显示磁盘使用情况。例如 -B M 显示结果以 MB 为单位。 |
示例解析
-
查看所有挂载文件系统的磁盘使用情况
df
这会列出所有挂载的文件系统,并显示每个文件系统的总大小、已用空间、可用空间以及挂载点。
[root@sonar ~]# df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 8045240 0 8045240 0% /dev tmpfs 8056632 0 8056632 0% /dev/shm tmpfs 8056632 886036 7170596 11% /run tmpfs 8056632 0 8056632 0% /sys/fs/cgroup /dev/sda5 967385592 273668880 693716712 29% / /dev/sda2 487634 115738 342200 26% /boot tmpfs 1611328 0 1611328 0% /run/user/0 [root@sonar ~]#
以下是
df
命令的结果中各列的解释:Filesystem 1K-blocks Used Available Use% Mounted on
Filesystem:
文件系统的名称,指的是设备或挂载点的名称。例如/dev/sda5
表示物理磁盘上的一个分区,tmpfs
则表示一种临时文件系统,通常存放在内存中。1K-blocks:
以 1KB 为单位的文件系统总大小。它表示每个文件系统中总共分配了多少 1KB 的块。例如/dev/sda5
文件系统的总大小是 967,385,592 个 1KB 块,即约 967GB。Used:
已使用的磁盘空间,单位也是 1KB。这表示当前文件系统中已经占用了多少空间。例如/dev/sda5
上已使用了 273,668,880 个 1KB 块,即约 273GB。Available:
可用的磁盘空间,单位也是 1KB。它表示文件系统中还有多少空间可供使用。例如/dev/sda5
上有 693,716,712 个 1KB 块可用,即约 693GB。Use%:
文件系统的使用率,以百分比表示。它显示文件系统的已用空间占总空间的百分比。例如/dev/sda5
已经使用了 29% 的空间。Mounted on:
文件系统挂载的位置,表示这个文件系统被挂载在系统中的哪个目录下。例如/dev/sda5
被挂载在根目录/
,而/dev/sda2
被挂载在/boot
。具体输出的解析
- devtmpfs:用于设备的临时文件系统,提供设备节点信息,大小为 8045240 KB,未使用,挂载在
/dev
。 - tmpfs:临时文件系统,常用于内存中的临时存储。例如
/dev/shm
、/run
、/sys/fs/cgroup
都使用了tmpfs
,用来存储系统的临时数据。 - /dev/sda5:物理磁盘的主要分区,容量为约 967GB,使用了 273GB,还剩 693GB,使用率 29%,挂载在根目录
/
,存放操作系统和用户数据。 - /dev/sda2:另一个磁盘分区,专门用于
/boot
,存储启动引导文件。大小为 487634KB(约 488MB),使用了 115738KB(约 115MB),剩余空间 342200KB(约 342MB),使用率为 26%。 - tmpfs(用于
/run/user/0
):用于 root 用户的临时文件存储,未使用任何空间。
- devtmpfs:用于设备的临时文件系统,提供设备节点信息,大小为 8045240 KB,未使用,挂载在
-
以人类可读格式显示磁盘使用情况
df -h
-h
选项将以适合人类阅读的格式显示磁盘使用情况,例如将单位转换为 KB、MB、GB,而不是以字节显示。示例输出:
文件系统 容量 已用 可用 已用% 挂载点 /dev/sda1 50G 10G 37G 22% / tmpfs 2.0G 1.2M 2.0G 1% /dev/shm
-
显示文件系统类型
df -T
-T
选项会为每个文件系统列出类型。例如,ext4、xfs 或 tmpfs。示例输出:
文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda1 ext4 50G 10G 37G 22% / tmpfs tmpfs 2.0G 1.2M 2.0G 1% /dev/shm
-
查看 inode 使用情况
df -i
-i
选项显示的是文件系统的 inode 使用情况,而不是磁盘块使用情况。每个文件系统都有一定数量的 inode,用于存储文件和目录的元数据。示例输出:
文件系统 Inodes 已用 可用 已用% 挂载点 /dev/sda1 3276800 51200 3225600 2% / tmpfs 512000 640 511360 1% /dev/shm
-
显示特定目录的磁盘使用情况
df /home
这会显示
/home
挂载点所在文件系统的磁盘使用情况。 -
使用指定块大小显示
df -B M
-B
选项允许指定块大小,比如M
表示以 MB 为单位。 -
显示总的磁盘使用情况
df --total
此选项会在最后添加一行,显示所有文件系统的总使用情况。
示例输出:
文件系统 容量 已用 可用 已用% 挂载点 /dev/sda1 50G 10G 37G 22% / tmpfs 2.0G 1.2M 2.0G 1% /dev/shm 总计 52G 10G 39G 20%
常见使用场景
-
监控磁盘空间
系统管理员可以通过定期执行df
命令来监控磁盘使用情况,特别是关键的系统分区(如/var
、/home
等),确保它们不会被填满,避免导致系统崩溃或服务不可用。 -
排查磁盘空间不足的问题
当用户发现文件系统空间不足时,df
可以帮助快速定位使用最多的分区,以便采取相应的措施(如清理文件、扩展分区等)。 -
脚本中的应用
df
命令可以与 shell 脚本结合使用,自动化磁盘空间监控和报警功能。通过df -P
选项,确保脚本能解析输出结果。
总结
df
命令是 Linux 系统中查看磁盘使用情况的重要工具。通过灵活使用 df
的各种选项,用户可以轻松获取系统各个分区的磁盘空间使用情况,并进行相应的管理和维护。无论是在排查问题还是日常的系统监控中,df
都是必不可少的工具。