Linux df用法详解:查看文件系统硬盘使用情况

7个月前 (04-27)
df 令,用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

前面讲过,与整个文件系统有关的数据,都保存在 Super block(超级块)中,而 df 令主要读取的数据几乎都针对的是整个文件系统,所以 df 令主要是从各文件系统的 Super block 中读取数据。

df 令的基本格式为:

[root@localhost ~]# df [选项] [目录或文件名]

表 1 列出了 df 令几个常用的选项,以及它们各自的作用。

表 1 df令常用选项及作用

选项

作用

-a

显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统;

-m

以 MB 为单位显示容量;

-k

以 KB 为单位显示容量,默认以 KB 为单位;

-h

使用人们习惯的 KB、MB 或 GB 等单位自行显示容量;

-T

显示该分区的文件系统名称;

-i

不用硬盘容量显示,而是以含有 inode 的数量来显示。


【例 1】

[root@localhost ~]# df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/hdc2 9920624 3823112 5585444 41% /

/dev/hdc3 4956316 141376 4559108 4% /home

/dev/hdc1 101086 11126 84741 12% /boot

tmpfs 371332 0 371332 0% /dev/shm

不使用任何选项的 df 令,默认会将系统内所有的文件系统信息,以 KB 为单位显示出来。

本例中,由 df 令显示出的各列信息的含义分别是:

  • Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;

  • 1K-blocks:此列表示文件系统的总大小,默认以 KB 为单位;

  • Used:表示用掉的硬盘空间大小;

  • Available:表示剩余的硬盘空间大小;

  • Use%:硬盘空间使用率。如果使用率高达 90% 以上,就需要额外注意,因为容量不足,会严重影响系统的正常运行;

  • Mounted on:文件系统的挂载点,也就是硬盘挂载的目录位置。


【例 2】

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hdc2 9.5G 3.7G 5.4G 41% /

/dev/hdc3 4.8G 139M 4.4G 4% /home

/dev/hdc1 99M 11M 83M 12% /boot

tmpfs 363M 0 363M 0% /dev/shm

同例 1 不同,这里使用了 -h 选项,因此文件系统的各种容量数据,会以人们习惯的单位(通常使用 GB 或 MB)显示出来。

【例 3】

[root@localhost ~]# df -h /etc

Filesystem Size Used Avail Use% Mounted on

/dev/hdc2 9.5G 3.7G 5.4G 41% /

同之前的 2 个例子不同,这里在 df 令后添加了目录名,在这种情况下,df 令会自动分析该目录所在的分区,并将所在分区的有关信息显示出来。由此,我们就可以知道,该目录下还可以使用多少容量。

【例 4】

[root@localhost ~]# df -aT

Filesystem Type 1K-blocks Used Available Use% Mounted on

/dev/hdc2 ext3 9920624 3823112 5585444 41% /

proc proc 0 0 0 - /proc

sysfs sysfs 0 0 0 - /sys

devpts devpts 0 0 0 - /dev/pts

/dev/hdc3 ext3 4956316 141376 4559108 4% /home

/dev/hdc1 ext3 101086 11126 84741 12% /boot

tmpfs tmpfs 371332 0 371332 0% /dev/shm

none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc

sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs

注意,使用 -a 选项,会将很多特殊的文件系统显示出来,这些文件系统包含的大多是系统数据,存在于内存中,不会占用硬盘空间,因此你会看到,它们所占据的硬盘总容量为 0。