1. 程式人生 > >df 和 du 命令詳解與環境變數

df 和 du 命令詳解與環境變數

指令 df 可以顯示目前所有檔案系統的最大可用空間及使用情形,請看下列這個例子:

# df -h
Filesystem       Size      Used     Avail Capacity    Mounted on
/dev/ad0s1a      1.9G      389M      1.4G      21%      /
devfs            1.0K      1.0K        0B     100%      /dev
/dev/ad0s1d      989M       54K      910M       0%      /tmp
/dev/ad0s1f      4.8G      3.8G      657M      86%      /usr
/dev/ad0s1e      1.9G      149M      1.6G       8%      /var
/dev/ad0s1g       26G      890K       24G       0%      /volume2
/dev/da0s1d      325G      261G       38G      87%      /volume1

我們加了引數 -h 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。

上 面的指令輸出的第一個欄位及最後一個欄位分別是檔案系統及其掛入點。我們可以看到 /dev/ad0s1a 這個分割區被掛在根目錄下。我們在上一小節提到過 ad 所代表的是 IDE 的硬碟,而 s1 表示第一個主要扇區。我另外有一個 SCSI 硬碟,它的代號是 da,它的容量很大,主要用來存放資料。devfs 是一個特別的檔案系統,該檔案系統並非真的磁碟,而是 FreeBSD 用來管理系統硬體裝置的虛擬檔案系統。

接下來的四個欄位 Size、Used、Avail、及 Capacity 分別是該分割區的容量、已使用的大小、剩下的大小、及使用的百分比。當硬碟容量已滿時,您可能會看到已使用的百分比超過 100%,因為 FreeBSD 會留一些空間給 root,讓 root 在檔案系統滿時,還是可以寫東西到該檔案系統中,以進行管理。

另外,我們還可以使用引數 -i 來檢視目前檔案系統 inode 的使用情形。有的時候雖然檔案系統還有空間,但若沒有足夠的 inode 來存放檔案的資訊,一樣會不能增加新的檔案。

# df -ih
Filesystem       Size      Used     Avail Capacity iused      ifree %iused    Mounted on
/dev/ad0s1a      1.9G      389M      1.4G      21%     20495     262127      7%     /
devfs            1.0K      1.0K        0B     100%         0          0    100%     /dev
/dev/ad0s1d      989M       62K      910M       0%        24     141286      0%     /tmp
/dev/ad0s1f      4.8G      3.8G      657M      86%    311439     348015     47%     /usr
/dev/ad0s1e      1.9G      149M      1.6G       8%      1758     280864      1%     /var
/dev/ad0s1g       26G      890K       24G       0%        12    3532786      0%     /volume2
/dev/da0s1d      325G      261G       38G      87%    707277 43311409      2%     /volume1
我們可以看到根目錄的已經用掉的 inode 數量為 20495,還有 262127 的可用 inode。

小提示
還 記得什麼是 inode 嗎?所謂的 inode 是用來存放檔案及目錄的基本資訊 (metadata),包含時間、檔名、使用者及群組等。在分割扇區時,系統會先做出一堆 inode 以供以後使用,inode 的數量關係著系統中可以建立的檔案及目錄總數。如果要存的檔案大部分都很小,則同樣大小的硬碟中會有較多的檔案,也就是說需要較多的 inode 來掛檔案及目錄。