一、简介
df(英文全拼:display free disk space) 命令用于显示或查看文件系统(或磁盘)的空间使用情况,包括总容量、已用空间、可用空间、使用率和挂载点等信息。
二、语法
df [选项]... [文件]...
参数 |
参数说明 |
-a, --all |
显示所有文件系统,包括虚拟文件系统(如 proc, sysfs) |
-B, --block-size=SIZE |
指定显示单位(如 -BK=KB,-BM=MB,-BG=GB) |
-h, --human-readable |
以易读格式显示(自动转换单位:K, M, G, T,基于1024) |
-H, --si |
类似 -h,但以 1000 为换算单位(符合 SI 标准) |
-i, --inodes |
显示 inode 使用情况(而非磁盘空间) |
-k |
以 1KB 为单位显示(默认单位) |
-m |
以 1MB 为单位显示(部分系统支持) |
-l, --local |
仅显示本地文件系统(排除网络文件系统如 NFS) |
--no-sync |
获取信息前不调用 sync(默认行为) |
--sync |
获取信息前调用 sync(确保数据最新) |
--total |
显示总计信息 |
-T, --print-type |
显示文件系统类型 |
-t, --type=TYPE |
仅显示指定类型的文件系统(如 ext4, xfs) |
-P, --portability |
使用 POSIX 兼容的输出格式(避免换行问题) |
-x, --exclude-type=TYPE |
排除指定类型的文件系统 |
--output[=FIELD_LIST] |
自定义输出字段(如 source,fstype,size,pcent) |
--help |
显示此帮助信息并退出 |
--version |
显示版本信息并退出 |
三、实战
[root@app01 ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 914424 0 914424 0% /dev
tmpfs 931500 0 931500 0% /dev/shm
tmpfs 931500 10432 921068 2% /run
tmpfs 931500 0 931500 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 26193412 4573660 21619752 18% /
/dev/sda1 1038336 189248 849088 19% /boot
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056 12% /app
tmpfs 186304 12 186292 1% /run/user/42
tmpfs 186304 0 186304 0% /run/user/0
说明:
文件系统(Filesystem):文件系统的名称或标识符。
1K-块(1K-blocks):文件系统的总容量,以1KB为单位,即文件系统的总大小。
已用(Used):文件系统已使用的容量,以1KB为单位。
可用(Available) :文件系统中可用的容量,以1KB为单位。
已用%(Use%):文件系统已使用容量占总容量的百分比。
挂载点(Mounted on):文件系统被挂载到的目录或位置。
1、-h选项以易读格式显示会磁盘空间使用情况
[root@app01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 893M 0 893M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 25G 4.4G 21G 18% /
/dev/sda1 1014M 185M 830M 19% /boot
/dev/mapper/rootvg-lv_app 30G 3.6G 27G 12% /app
tmpfs 182M 12K 182M 1% /run/user/42
tmpfs 182M 0 182M 0% /run/user/0
该命令参数是以易读格式显示,方便阅读,容量单位会自转换(自动转换单位:K, M, G, T,基于1024)
2、df 也可以显示某一个文件系统或某一个目录所在磁盘使用的文件系统信息
[root@app01 ~]# df /app
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056 12% /app
[root@app01 app]# df /app/jdk
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056 12% /app
3、-i 选项 df 命令的输出显示 inode 信息而非块使用量
[root@app01 app]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 228606 398 228208 1% /dev
tmpfs 232875 1 232874 1% /dev/shm
tmpfs 232875 910 231965 1% /run
tmpfs 232875 16 232859 1% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 13103104 160828 12942276 2% /
/dev/sda1 524288 341 523947 1% /boot
/dev/mapper/rootvg-lv_app 15728640 1231 15727409 1% /app
tmpfs 232875 9 232866 1% /run/user/42
tmpfs 232875 1 232874 1% /run/user/0
注:有时候使用df -Th命令查看文件系统时,发现文件系统可使用空间充足,但文件就是写不进去,此时有可能就是inode值已满造成。
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:
ctime指inode上一次变动的时间,
mtime指文件内容上一次变动的时间,
atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
4、显示所有的信息
[root@app01 app]# df --total
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 914424 0 914424 0% /dev
tmpfs 931500 0 931500 0% /dev/shm
tmpfs 931500 10432 921068 2% /run
tmpfs 931500 0 931500 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 26193412 4573168 21620244 18% /
/dev/sda1 1038336 189248 849088 19% /boot
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056 12% /app
tmpfs 186304 12 186292 1% /run/user/42
tmpfs 186304 0 186304 0% /run/user/0
total 62755200 8496724 54258476 14% -
使用—total参数查看文件系统时,我们看到内容输出的末尾,包含一个额外的行(total),该行会显示每一列的总和。
5、查看系统系统类型
[root@app01 app]# df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 914424 0 914424 0% /dev
tmpfs tmpfs 931500 0 931500 0% /dev/shm
tmpfs tmpfs 931500 10432 921068 2% /run
tmpfs tmpfs 931500 0 931500 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root xfs 26193412 4573168 21620244 18% /
/dev/sda1 xfs 1038336 189248 849088 19% /boot
/dev/mapper/rootvg-lv_app xfs 31441920 3723864 27718056 12% /app
tmpfs tmpfs 186304 12 186292 1% /run/user/42
tmpfs tmpfs 186304 0 186304 0% /run/user/0
使用-T参数,可以看到每一个文件系统所属的类型是什么,也就是上面的第二列(类型)数据。
注:其中使用df命令查看时,可以把参数进行组合查看,这里就不在一一展示了,大家可以自行尝试,看看组合后有什么不一样的输出结果。