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命令计算在可用空间中。
评论区