Linux df命令介绍
Linux df(英文全拼:disk free)命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。它可以用来查看磁盘已被使用多少空间和还剩余多少空间。它还可以显示文件系统的类型、大小、已用空间、可用空间、使用率和挂载点等信息。df命令是一个非常实用的工具,可以帮助我们监控磁盘空间的使用情况,避免磁盘空间不足导致的系统问题。
适用的Linux版本
df命令是一个标准的Linux命令,适用于大多数的Linux发行版,如Ubuntu、Debian、Fedora、CentOS等。如果某些Linux版本没有安装df命令,可以通过包管理器来安装。例如,在CentOS 7中,可以使用以下命令来安装df命令:
# 使用yum包管理器安装coreutils包,该包包含了df命令
sudo yum install coreutils
在CentOS 8中,可以使用以下命令来安装df命令:
# 使用dnf包管理器安装coreutils包,该包包含了df命令
sudo dnf install coreutils
Linux df命令的基本用法
df命令的基本语法格式为:
# 显示所有已挂载文件系统的磁盘使用情况
df [选项]
# 显示指定文件或目录所在文件系统的磁盘使用情况
df [选项] 文件或目录
Linux df命令的常用选项说明
df命令有很多选项,可以用来控制输出的格式和内容。下表列出了一些常用的选项及其作用:
| 选项 | 作用 | 
|---|---|
| -a, --all | 显示所有的文件系统,包括虚拟文件系统 | 
| -B, --block-size=SIZE | 指定单位大小,比如1K, 1M, 1G等 | 
| -h, --human-readable | 以人类可读的格式显示,如GB, MB, KB等 | 
| -H, --si | 和-h参数一样,但是以1000为单位而不是1024 | 
| -i, --inodes | 显示inode信息而不是块使用量 | 
| -k | 以KB为单位显示各文件系统,相当于--block-size=1K | 
| -m | 以MB为单位显示各文件系统,相当于--block-size=1M | 
| -l, --local | 只显示本地文件系统 | 
| -P, --portability | 使用POSIX输出格式 | 
| -t, --type=TYPE | 只显示指定类型的文件系统 | 
| -T, --print-type | 显示文件系统类型 | 
| -x, --exclude-type=TYPE | 不显示指定类型的文件系统 | 
Linux df命令的实例
下面给出一些使用df命令的实例,以便更好地理解和掌握该命令。
- 显示所有已挂载文件系统的磁盘使用情况,默认以1K为单位
# 不带任何选项的df命令
df
# 输出结果示例:
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       16036224 2749160  12459316  19% /
/dev/sda1         295561   16911    263390   7% /boot
tmpfs            1028272       0   1028272   0% /dev/shm
- 显示指定文件或目录所在文件系统的磁盘使用情况
# 指定一个目录,查看该目录所在文件系统的使用情况
df /home
# 输出结果示例:
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       4956316  141376   4559108   4% /home
# 指定一个文件,查看该文件所在文件系统的使用情况
df /bin/ls
# 输出结果示例:
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       16036224 2749160  12459316  19% /
# 指定多个文件或目录,查看它们所在文件系统的使用情况
df /bin/ls /home /usr/
# 输出结果示例:
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       16036224 2749160  12459316  19% /
/dev/sda3       4956316  141376   4559108   4% /home
/dev/sda2       16036224 2749160  12459316  19% /
- 显示所有文件系统,包括虚拟文件系统,如proc, sysfs, devpts等
# 使用-a或--all选项的df命令
df -a
# 输出结果示例:
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       16036224 2749160  12459316  19% /
proc                   -       -         -    - /proc
sysfs                  -       -         -    - /sys
devpts                 -       -         -    - /dev/pts
/dev/sda1         295561   16911    263390   7% /boot
tmpfs            1028272       0   1028272   0% /dev/shm
none                   -       -         -    - /proc/sys/fs/binfmt_misc
none                   -       -         -    - /proc/fs/vmblock/mountPoint
sunrpc                 -       -         -    - /var/lib/nfs/rpc_pipefs
- 使用人类可读的格式显示磁盘使用情况,如GB, MB, KB等
# 使用-h或--human-readable选项的df命令
df -h
# 输出结果示例:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        16G  2.7G   12G  19% /
/dev/sda1       290M   17M  258M   7% /boot
tmpfs           1.0G     -    -    - /dev/shm
- 显示文件系统的类型
# 使用-T或--print-type选项的df命令
df -T
# 输出结果示例:
Filesystem     Type     Size   Used Avail Use% Mounted on
/dev/sda2      ext4      ...    ...   ... ... /
/dev/sda1      ext4      ...    ...   ... ... /boot
tmpfs          tmpfs     ...    ...   ... ... /dev/shm
- 只显示指定类型的文件系统,如ext4
# 使用-t或--type选项的df命令,后面跟上要显示的文件系统类型名称
df -t ext4
# 输出结果示例:
Filesystem     Size   Used Avail Use% Mounted on
/dev/sda2      ...    ...   ... ... /
/dev/sda1      ...    ...   ... ... /boot
- 不显示指定类型的文件系统,如tmpfs
# 使用-x或--exclude-type选项的df命令,后面跟上要排除的文件系统类型名称
df -x tmpfs
# 输出结果示例:
Filesystem     Size   Used Avail Use% Mounted on
/dev/sda2      ...    ...   ... ... /
/dev/sda1      ...    ...   ... ... /boot
Linux df命令的注意事项
- df命令只能显示已挂载的文件系统的磁盘使用情况,如果要查看未挂载的分区或设备的信息,可以使用fdisk, parted等命令。
- df命令显示的磁盘使用情况可能不是实时的,因为Linux会缓存一些数据和元数据,如果如果要强制刷新缓存,可以使用sync命令,或者重新挂载文件系统。
- df命令显示的磁盘使用情况可能和du命令有所不同,因为df命令是基于文件系统的统计,而du命令是基于文件的统计。如果文件被删除但是还被某个进程占用,那么df命令会认为该文件还占用空间,而du命令会忽略该文件。
- df命令的输出结果可能会受到文件系统的类型和参数的影响,比如一些文件系统会预留一定比例的空间给超级用户或者元数据,这部分空间可能不会被df命令计算在可用空间中。
 
       
       
      
评论区