在 Linux 下你所不知道的 df 命令的那些功能
![](https://linuxstory.org/wp-content/uploads/2024/06/101603bgogow9qboal9zub.jpg)
對於磁碟存儲方面,有很多命令行或基於GUI的工具,它可以告訴你關於當前磁碟空間的使用情況。這些工具用各種人們可讀的格式展示磁碟利用率的詳細信息,比如易於理解的總結,詳細的統計信息或直觀的可視化報告。如果你只想知道不同文件系統有多少空閑的磁碟空間,那麼df命令可能是你所需要的。
df命令可以展示任何「mounted」文件系統的磁碟利用率。該命令可以用不同的方式調用。這裡有一些有用的 df 命令例子.
用人們可讀的方式展示
默認情況下,df命令用1K為塊來展示磁碟空間,這看起來不是很直觀。「-h」參數使df用更可讀的方式列印磁碟空間(例如 100K,200M,3G)。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-root 909G 565G 299G 66% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 785M 1.2M 784M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 63M 3.8G 2% /run/shm
none 100M 48K 100M 1% /run/user
/dev/sda1 228M 98M 118M 46% /boot
展示Inode使用情況
當你監視磁碟使用情況時,你必須注意的不僅僅是磁碟空間還有「inode」的使用情況。在Linux中,inode是用來存儲特定文件的元數據的一種數據結構,在創建一個文件系統時,inode的預先定義數量將被分配。這意味著,一個文件系統可能耗盡空間不只是因為大文件用完了所有可用空間,也可能是因為很多小文件用完了所有可能的inode。用「-i」選項展示inode使用情況。
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/ubuntu-root 60514304 1217535 59296769 3% /
none 1004417 13 1004404 1% /sys/fs/cgroup
udev 1000623 552 1000071 1% /dev
tmpfs 1004417 608 1003809 1% /run
none 1004417 11 1004406 1% /run/lock
none 1004417 288 1004129 1% /run/shm
none 1004417 28 1004389 1% /run/user
/dev/sda1 124496 346 124150 1% /boot
展示磁碟總利用率
默認情況下, df命令顯示磁碟的單個文件系統的利用率。如果你想知道的所有文件系統的總磁碟使用量,增加「 --total 」選項(見最下面的匯總行)。
$ df -h --total
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-root 909G 565G 299G 66% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 785M 1.2M 784M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 62M 3.8G 2% /run/shm
none 100M 48K 100M 1% /run/user
/dev/sda1 228M 98M 118M 46% /boot
total 918G 565G 307G 65% -
展示文件系統類型
默認情況下,df命令不顯示文件系統類型信息。用「-T」選項來添加文件系統信息到輸出中。
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root ext4 952893348 591583292 312882844 66% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 4002492 4 4002488 1% /dev
tmpfs tmpfs 803536 1196 802340 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 4017668 60176 3957492 2% /run/shm
none tmpfs 102400 48 102352 1% /run/user
/dev/sda1 ext2 233191 100025 120725 46% /boot
包含或排除特定的文件系統類型
如果你想知道特定文件系統類型的剩餘空間,用「-t 」選項。你可以多次使用這個選項來包含更多的文件系統類型。
$ df -t ext2 -t ext4
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583380 312882756 66% /
/dev/sda1 233191 100025 120725 46% /boot
排除特定的文件系統類型,用「-x 」選項。同樣,你可以用這個選項多次來排除多種文件系統類型。
$ df -x tmpfs
顯示一個具體的掛載點磁碟使用情況
如果你用df指定一個掛載點,它將報告掛載在那個地方的文件系統的磁碟使用情況。如果你指定一個普通文件(或一個目錄)而不是一個掛載點,df將顯示包含這個文件(或目錄)的文件系統的磁碟利用率。
$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /
$ df /home/dev
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /
顯示虛擬文件系統的信息
如果你想顯示所有已經存在的文件系統(包括虛擬文件系統)的磁碟空間信息,用「-a」選項。這裡,虛擬文件系統是指沒有相對應的物理設備的假文件系統,例如,tmpfs,cgroup虛擬文件系統或FUSE文件安系統。這些虛擬文件系統大小為0,不用「-a」選項將不會被報告出來。
$ df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591578716 312887420 66% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
none 4 0 4 0% /sys/fs/cgroup
none 0 0 0 - /sys/fs/fuse/connections
none 0 0 0 - /sys/kernel/debug
none 0 0 0 - /sys/kernel/security
udev 4002492 4 4002488 1% /dev
devpts 0 0 0 - /dev/pts
tmpfs 803536 1196 802340 1% /run
none 5120 0 5120 0% /run/lock
none 4017668 58144 3959524 2% /run/shm
none 102400 48 102352 1% /run/user
none 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
/dev/sda1 233191 100025 120725 46% /boot
vmware-vmblock 0 0 0 - /run/vmblock-fuse
via: http://ask.xmodulo.com/check-disk-space-linux-df-command.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive