df 即“可用磁盘”disk free,用于显示文件系统的磁盘使用情况。默认情况下 df 命令将以每块 1K 的单位进行显示所有当前已挂载的文件系统,如果你想以人类易读的格式显示 df 命令的输出,像这样“df -h”使用 -h 选项。 在这篇文章中,我们将讨论 df 命令在 Linux 下11种不同的实例。 在 Linux 下 df 命令的基本格式为: # df {options} {mount_point_of_filesystem} 在 df 命令中可用的选项有: df 的样例输出 : [root@linux-world ~] # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-root 17003304 804668 15311852 5% / devtmpfs 771876 0 771876 0% /dev tmpfs 777928 0 777928 0% /dev/shm tmpfs 777928 8532 769396 2% /run tmpfs 777928 0 777928 0% /sys/fs/cgroup /dev/mapper/vg00-home 14987616 41000 14162232 1% /home /dev/sda1 487652 62593 395363 14% /boot /dev/mapper/vg00-var 9948012 48692 9370936 1% /var /dev/mapper/vg00-sap 14987656 37636 14165636 1% /sap [root@linux-world ~] # 例1:使用 -a 选项列出所有文件系统的磁盘使用量 当我们在 df 命令中使用 -a 选项时,它会显示所有文件系统的磁盘使用情况。 [root@linux-world ~] # df -a Filesystem 1K-blocks Used Available Use% Mounted on rootfs 17003304 804668 15311852 5% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devtmpfs 771876 0 771876 0% /dev securityfs 0 0 0 - /sys/kernel/security tmpfs 777928 0 777928 0% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 777928 8532 769396 2% /run tmpfs 777928 0 777928 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/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/devices cgroup 0 0 0 - /sys/fs/cgroup/freezer cgroup 0 0 0 - /sys/fs/cgroup/net_cls 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/vg00-root 17003304 804668 15311852 5% / selinuxfs 0 0 0 - /sys/fs/selinux systemd-1 0 0 0 - /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/mapper/vg00-home 14987616 41000 14162232 1% /home /dev/sda1 487652 62593 395363 14% /boot /dev/mapper/vg00-var 9948012 48692 9370936 1% /var /dev/mapper/vg00-sap 14987656 37636 14165636 1% /sap [root@linux-world ~] #例2:以人类易读的格式显示 df 命令的输出 在 df 命令中使用-h选项,以人类易读的格式输出(例如,5K,500M 及 5G) [root@linux-world ~] # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg00-root 17G 786M 15G 5% / devtmpfs 754M 0 754M 0% /dev tmpfs 760M 0 760M 0% /dev/shm tmpfs 760M 8.4M 752M 2% /run tmpfs 760M 0 760M 0% /sys/fs/cgroup /dev/mapper/vg00-home 15G 41M 14G 1% /home /dev/sda1 477M 62M 387M 14% /boot /dev/mapper/vg00-var 9.5G 48M 9.0G 1% /var /dev/mapper/vg00-sap 15G 37M 14G 1% /sap [root@linux-world ~] # 例3:显示特定文件系统已使用的空间 假如我们想显示 /sap 文件系统空间的使用情况。 [root@linux-world ~] # df -h /sap/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg00-sap 15G 37M 14G 1% /sap [root@linux-world ~] # 例4:输出所有已挂载文件系统的类型 -T 选项用在 df 命令中用来显示文件系统的类型。 [root@linux-world ~] # df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-root ext4 17003304 804668 15311852 5% / devtmpfs devtmpfs 771876 0 771876 0% /dev tmpfs tmpfs 777928 0 777928 0% /dev/shm tmpfs tmpfs 777928 8532 769396 2% /run tmpfs tmpfs 777928 0 777928 0% /sys/fs/cgroup /dev/mapper/vg00-home ext4 14987616 41000 14162232 1% /home /dev/sda1 ext3 487652 62593 395363 14% /boot /dev/mapper/vg00-var ext3 9948012 48696 9370932 1% /var /dev/mapper/vg00-sap ext3 14987656 37636 14165636 1% /sap [root@linux-world ~] # 例5:按块大小输出文件系统磁盘使用情况 [root@linux-world ~] # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-root 17003304 804668 15311852 5% / devtmpfs 771876 0 771876 0% /dev tmpfs 777928 0 777928 0% /dev/shm tmpfs 777928 8532 769396 2% /run tmpfs 777928 0 777928 0% /sys/fs/cgroup /dev/mapper/vg00-home 14987616 41000 14162232 1% /home /dev/sda1 487652 62593 395363 14% /boot /dev/mapper/vg00-var 9948012 48696 9370932 1% /var /dev/mapper/vg00-sap 14987656 37636 14165636 1% /sap [root@linux-world ~] # 例6:输出文件系统的 inode 信息 -i 选项用在 df 命令用于显示文件系统的 inode 信息。 所有文件系统的 inode 信息: [root@linux-world ~] # df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vg00-root 1089536 22031 1067505 3% / devtmpfs 192969 357 192612 1% /dev tmpfs 194482 1 194481 1% /dev/shm tmpfs 194482 420 194062 1% /run tmpfs 194482 13 194469 1% /sys/fs/cgroup /dev/mapper/vg00-home 960992 15 960977 1% /home /dev/sda1 128016 337 127679 1% /boot /dev/mapper/vg00-var 640848 1235 639613 1% /var /dev/mapper/vg00-sap 960992 11 960981 1% /sap [root@linux-world ~] # 特定文件系统的 inode 信息: [root@linux-world ~] # df -i /sap/ Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vg00-sap 960992 11 960981 1% /sap [root@linux-world ~] # 例7:输出所有文件系统使用情况汇总 -total 选项在 df 命令中用于显示所有文件系统的磁盘使用情况汇总。 [root@linux-world ~] # df -h --total Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg00-root 17G 786M 15G 5% / devtmpfs 754M 0 754M 0% /dev tmpfs 760M 0 760M 0% /dev/shm tmpfs 760M 8.4M 752M 2% /run tmpfs 760M 0 760M 0% /sys/fs/cgroup /dev/mapper/vg00-home 15G 41M 14G 1% /home /dev/sda1 477M 62M 387M 14% /boot /dev/mapper/vg00-var 9.5G 48M 9.0G 1% /var /dev/mapper/vg00-sap 15G 37M 14G 1% /sap total 58G 980M 54G 2% - [root@linux-world ~] # 例8:只打印本地文件系统磁盘的使用情况 假设网络文件系统也挂载在 Linux 上,但我们只想显示本地文件系统的信息,这可以通过使用 df 命令的 -l 选项来实现。 只打印本地文件系统: [root@linux-world ~] # df -Thl Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg00-root ext4 17G 791M 15G 6% / devtmpfs devtmpfs 754M 0 754M 0% /dev tmpfs tmpfs 760M 0 760M 0% /dev/shm tmpfs tmpfs 760M 8.4M 752M 2% /run tmpfs tmpfs 760M 0 760M 0% /sys/fs/cgroup /dev/mapper/vg00-home ext4 15G 41M 14G 1% /home /dev/sda1 ext3 477M 62M 387M 14% /boot /dev/mapper/vg00-var ext3 9.5G 105M 8.9G 2% /var /dev/mapper/vg00-sap ext3 15G 37M 14G 1% /sap [root@linux-world ~] # 例9:打印特定文件系统类型的磁盘使用情况 -t 选项在 df 命令中用来打印特定文件系统类型的信息,用 -t 指定文件系统的类型,如下所示: 对于 ext4 : [root@linux-world ~] # df -t ext4 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-root 17003304 809492 15307028 6% / /dev/mapper/vg00-home 14987616 41000 14162232 1% /home [root@linux-world ~] # 对于 nfs4 : [root@linux-world ~] # df -t nfs4 Filesystem 1K-blocks Used Available Use% Mounted on 192.168.1.5:/opensuse 301545472 266833920 19371008 94% /data [root@linux-world ~] # 例10:使用 -x 选项排除特定的文件系统类型 -x 或 –exclude-type 在 df 命令中用来在输出中排出某些文件系统类型。 假设我们想打印除 ext3 外所有的文件系统。 [root@linux-world ~] # df -x ext3 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-root 17003304 809492 15307028 6% / devtmpfs 771876 0 771876 0% /dev tmpfs 777928 0 777928 0% /dev/shm tmpfs 777928 8540 769388 2% /run tmpfs 777928 0 777928 0% /sys/fs/cgroup /dev/mapper/vg00-home 14987616 41000 14162232 1% /home 192.168.1.5:/opensuse 301545472 266834944 19369984 94% /data [root@linux-world ~] # 例11:在 df 命令的输出中只打印特定的字段 -output={field_name1,field_name2...} 选项用于显示 df 命令某些字段的输出。 可用的字段名有: source, fstype, itotal, iused, iavail, ipcent, size, used, avail, pcent 和 target [root@linux-world ~] # df --output=fstype,size,iused Type 1K-blocks IUsed ext4 17003304 22275 devtmpfs 771876 357 tmpfs 777928 1 tmpfs 777928 423 tmpfs 777928 13 ext4 14987616 15 ext3 487652 337 ext3 9948012 1373 ext3 14987656 11 nfs4 301545472 451099 [root@linux-world ~] #