Linux命令大全-df命令

发布于:2025-07-20 ⋅ 阅读:(13) ⋅ 点赞:(0)

一、简介

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命令查看时,可以把参数进行组合查看,这里就不在一一展示了,大家可以自行尝试,看看组合后有什么不一样的输出结果。


网站公告

今日签到

点亮在社区的每一天
去签到