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 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/vg00-root 17003304 804668 15311852 5% /devtmpfs 771876 0 771876 0% /devtmpfs 777928 0 777928 0% /dev/shmtmpfs 777928 8532 769396 2% /runtmpfs 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 -aFilesystem 1K-blocks Used Available Use% Mounted onrootfs 17003304 804668 15311852 5% /proc 0 0 0 - /procsysfs 0 0 0 - /sysdevtmpfs 771876 0 771876 0% /devsecurityfs 0 0 0 - /sys/kernel/securitytmpfs 777928 0 777928 0% /dev/shmdevpts 0 0 0 - /dev/ptstmpfs 777928 8532 769396 2% /runtmpfs 777928 0 777928 0% /sys/fs/cgroupcgroup 0 0 0 - /sys/fs/cgroup/systemdpstore 0 0 0 - /sys/fs/pstorecgroup 0 0 0 - /sys/fs/cgroup/cpusetcgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacctcgroup 0 0 0 - /sys/fs/cgroup/memorycgroup 0 0 0 - /sys/fs/cgroup/devicescgroup 0 0 0 - /sys/fs/cgroup/freezercgroup 0 0 0 - /sys/fs/cgroup/net_clscgroup 0 0 0 - /sys/fs/cgroup/blkiocgroup 0 0 0 - /sys/fs/cgroup/perf_eventcgroup 0 0 0 - /sys/fs/cgroup/hugetlbconfigfs 0 0 0 - /sys/kernel/config/dev/mapper/vg00-root 17003304 804668 15311852 5% /selinuxfs 0 0 0 - /sys/fs/selinuxsystemd-1 0 0 0 - /proc/sys/fs/binfmt_miscdebugfs 0 0 0 - /sys/kernel/debughugetlbfs 0 0 0 - /dev/hugepagesmqueue 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 -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg00-root 17G 786M 15G 5% /devtmpfs 754M 0 754M 0% /devtmpfs 760M 0 760M 0% /dev/shmtmpfs 760M 8.4M 752M 2% /runtmpfs 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 -TFilesystem Type 1K-blocks Used Available Use% Mounted on/dev/mapper/vg00-root ext4 17003304 804668 15311852 5% /devtmpfs devtmpfs 771876 0 771876 0% /devtmpfs tmpfs 777928 0 777928 0% /dev/shmtmpfs tmpfs 777928 8532 769396 2% /runtmpfs 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 -kFilesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/vg00-root 17003304 804668 15311852 5% /devtmpfs 771876 0 771876 0% /devtmpfs 777928 0 777928 0% /dev/shmtmpfs 777928 8532 769396 2% /runtmpfs 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 -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/mapper/vg00-root 1089536 22031 1067505 3% /devtmpfs 192969 357 192612 1% /devtmpfs 194482 1 194481 1% /dev/shmtmpfs 194482 420 194062 1% /runtmpfs 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 --totalFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg00-root 17G 786M 15G 5% /devtmpfs 754M 0 754M 0% /devtmpfs 760M 0 760M 0% /dev/shmtmpfs 760M 8.4M 752M 2% /runtmpfs 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% /saptotal 58G 980M 54G 2% -[root@linux-world ~]#
例8:只列印本地檔案系統磁碟的使用方式
假設網路檔案系統也掛載在 Linux 上,但我們只想顯示本地檔案系統的資訊,這可以通過使用 df 命令的 -l 選項來實現。
只列印本地檔案系統:
[root@linux-world ~]# df -ThlFilesystem Type Size Used Avail Use% Mounted on/dev/mapper/vg00-root ext4 17G 791M 15G 6% /devtmpfs devtmpfs 754M 0 754M 0% /devtmpfs tmpfs 760M 0 760M 0% /dev/shmtmpfs tmpfs 760M 8.4M 752M 2% /runtmpfs 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 ext4Filesystem 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 nfs4Filesystem 1K-blocks Used Available Use% Mounted on192.168.1.5:/opensuse 301545472 266833920 19371008 94% /data[root@linux-world ~]#
例10:使用 -x 選項排除特定的檔案系統類型
-x 或 –exclude-type 在 df 命令中用來在輸出中排出某些檔案系統類型。
假設我們想列印除 ext3 外所有的檔案系統。
[root@linux-world ~]# df -x ext3Filesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/vg00-root 17003304 809492 15307028 6% /devtmpfs 771876 0 771876 0% /devtmpfs 777928 0 777928 0% /dev/shmtmpfs 777928 8540 769388 2% /runtmpfs 777928 0 777928 0% /sys/fs/cgroup/dev/mapper/vg00-home 14987616 41000 14162232 1% /home192.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,iusedType 1K-blocks IUsedext4 17003304 22275devtmpfs 771876 357tmpfs 777928 1tmpfs 777928 423tmpfs 777928 13ext4 14987616 15ext3 487652 337ext3 9948012 1373ext3 14987656 11nfs4 301545472 451099[root@linux-world ~]#