Linux df命令示例

'df' 命令是Disk Free的缩写,用于快速打印不同分区和文件系统上正在使用的磁盘空间的概览。

df 来自 GNU Coreutils 包,默认情况下应该在基于 Unix/Linux 的操作系统中可用。

如何使用 df - 命令示例

  • 1.运行df
    如果我们不带任何选项运行 df 命令,它将打印出所有已安装文件系统的磁盘使用信息。
[jack@onitroad ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  18307072 3444056  14863016  19% /
devtmpfs                  1922332       0   1922332   0% /dev
tmpfs                     1933472       0   1933472   0% /dev/shm
tmpfs                     1933472    8800   1924672   1% /run
tmpfs                     1933472       0   1933472   0% /sys/fs/cgroup
/dev/sda1                  508588  145732    362856  29% /boot
tmpfs                      386696       0    386696   0% /run/user/0
    1. 人类可读的输出
      正如我们在上面看到的,默认情况下,打印输出以 KB 为单位显示所有大小。我们可以选择指定 -h 选项,该选项将以人类可读的格式显示输出,例如以 MB 和 GB 显示大小,这更容易理解。
[jack@onitroad ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  3.3G   15G  19% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  143M  355M  29% /boot
tmpfs                    378M     0  378M   0% /run/user/0
    1. 打印总的统计信息
      到目前为止,使用 df 我们可以打印出每个单独文件系统的使用情况。使用 --total 选项,我们可以获得整体结果。
[jack@onitroad ~]# df --total -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  3.3G   15G  19% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  143M  355M  29% /boot
tmpfs                    378M     0  378M   0% /run/user/0
total                     26G  3.5G   23G  14% 

我们可以看到底部打印了一行,其中包括所有文件系统的总大小、使用的总大小和可用的总大小。

    1. 显示索引节点
      我们可以使用 -i 选项来打印 inode 使用情况,而不是列出块使用情况。
[jack@onitroad ~]# df -hi
Filesystem              Inodes IUsed IFree IUse% Mounted on
/dev/mapper/centos-root    18M   41K   18M    1% /
devtmpfs                  470K   383  469K    1% /dev
tmpfs                     473K     1  473K    1% /dev/shm
tmpfs                     473K   480  472K    1% /run
tmpfs                     473K    13  473K    1% /sys/fs/cgroup
/dev/sda1                 500K   331  500K    1% /boot
tmpfs                     473K     1  473K    1% /run/user/0
    1. 指定文件系统
      默认情况下 df 会显示可用的文件系统,我们可以指定某个文件系统的路径以仅查看与其相关的信息。
[jack@onitroad ~]# df -h /home/
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  3.3G   15G  19% /
    1. 不显示外部文件系统
      默认情况下,运行 df 命令将显示任何外部安装的文件系统,包括来自外部 NFS 或者 Samba 服务器的文件系统。我们可以使用 --local 选项在结果中隐藏这些外部文件系统。
[jack@onitroad ~]# df --local
  • 7.打印文件系统类型
    使用 -T 选项,我们可以看到输出中包含的文件系统类型。
[jack@onitroad ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        18G  3.3G   15G  19% /
devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs     1.9G  8.6M  1.9G   1% /run
tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  143M  355M  29% /boot
tmpfs                   tmpfs     378M     0  378M   0% /run/user/0
    1. 显示特定文件系统类型
      使用 -t 选项,我们可以指定一个特定的文件系统,并且只打印那些文件系统,例如这里我们声明我们只想查看 xfs 的类型,这就是返回的全部内容。
[jack@onitroad ~]# df -ht xfs
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  3.3G   15G  19% /
/dev/sda1                497M  143M  355M  29% /boot
    1. 排除特定文件系统
      我们也可以与此相反,从输出中排除指定的文件系统类型,这里我们忽略所有 xfs 结果。
[jack@onitroad ~]# df -hx xfs
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.6M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           378M     0  378M   0% /run/user/0
    1. 确保最新的结果
      默认情况下,df 命令使用 --no-sync 选项运行,该选项不会在报告使用信息之前执行同步系统调用。虽然这可能运行得更快,但我们可以选择使用 --sync 选项强制同步,这将强制同步导致输出完全最新。
[jack@onitroad ~]# df --sync
  • 11.十进制输出而不是二进制
    虽然 -h 选项以人类可读的格式打印输出,但它也基于相当标准的 1024 的幂工作。我们可以使用 -H 代替,它的工作原理类似,只是它基于 1000 的幂工作。
[jack@onitroad ~]# df -H
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   19G  3.6G   16G  19% /
devtmpfs                 2.0G     0  2.0G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /dev/shm
tmpfs                    2.0G  9.0M  2.0G   1% /run
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1                521M  150M  372M  29% /boot
tmpfs                    396M     0  396M   0% /run/user/0
    1. 包括所有文件系统
      我们可以使用 -a 选项打印所有文件系统的结果。这将显示默认隐藏的虚拟文件系统,它们通常是特殊的文件系统,例如 /proc,没有实际存储空间。
[jack@onitroad ~]# df -ha
Filesystem               Size  Used Avail Use% Mounted on
rootfs                      -     -     -    - /
sysfs                       0     0     0    - /sys
proc                        0     0     0    - /proc
devtmpfs                 1.9G     0  1.9G   0% /dev
securityfs                  0     0     0    - /sys/kernel/security
tmpfs                    1.9G     0  1.9G   0% /dev/shm
devpts                      0     0     0    - /dev/pts
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
cgroup                      0     0     0    - /sys/fs/cgroup/systemd
pstore                      0     0     0    - /sys/fs/pstore
cgroup                      0     0     0    - /sys/fs/cgroup/devices
cgroup                      0     0     0    - /sys/fs/cgroup/net_cls
cgroup                      0     0     0    - /sys/fs/cgroup/cpuset
cgroup                      0     0     0    - /sys/fs/cgroup/cpu,cpuacct
cgroup                      0     0     0    - /sys/fs/cgroup/memory
cgroup                      0     0     0    - /sys/fs/cgroup/freezer
cgroup                      0     0     0    - /sys/fs/cgroup/blkio
cgroup                      0     0     0    - /sys/fs/cgroup/perf_event
cgroup                      0     0     0    - /sys/fs/cgroup/hugetlb
configfs                    0     0     0    - /sys/kernel/config
/dev/mapper/centos-root   18G  3.3G   15G  19% /
selinuxfs                   0     0     0    - /sys/fs/selinux
systemd-1                   -     -     -    - /proc/sys/fs/binfmt_misc
debugfs                     0     0     0    - /sys/kernel/debug
hugetlbfs                   0     0     0    - /dev/hugepages
mqueue                      0     0     0    - /dev/mqueue
/dev/sda1                497M  143M  355M  29% /boot
tmpfs                    378M     0  378M   0% /run/user/0
binfmt_misc                 0     0     0    - /proc/sys/fs/binfmt_misc
  • 13.显示df版本
    我们可以通过 --version 选项查看可用的 df 版本。
[jack@onitroad ~]# df --version
df (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Torbjörn Granlund, David MacKenzie, and Paul Eggert.
    1. 显示帮助
      如果我们需要使用 --help 选项获得更多详细信息,我们可以显示有用的帮助信息。请注意,为简洁起见,未显示该命令的完整输出。
[jack@onitroad ~]# df --help
Usage: df [OPTION]... [FILE]...
日期:2020-07-07 20:57:02 来源:oir作者:oir