linux檢視目錄大小及硬碟大小

edwardking888發表於2011-03-10

linux檢視目錄大小及硬碟大小的命令:
# du -ks   ---in all
# du -k     ---every last
du和df命令都被用於獲得檔案系統大小的資訊:df用於報告檔案系統的總塊數及剩餘塊數,du -s /用於報告檔案系統使用的塊數。但是,我們可以發現從df命令算出的檔案系統使用塊數的值與通過du命令得出的值是不一致的。如下例:
# du -s /tmp 返回如下值:
---12920 /tmp
而 df /tmp返回如下值:
Filesystem --512-blocks-- Free --%Used --Iused-- %Iused --Mounted on
/dev/hd3 --------57344 --42208--- 26% ----391 ------4% --/tmp
從上面的值我們可以算出 - = : 57344 - 42208 = 15136. 而15136大於12920。該值差異的存在是由於du與df命令實施上的不同: du -s命令通過將指定檔案系統中所有的目錄、符號連結和檔案使用的塊數累加得到該檔案系統使用的總塊數;而df命令通過檢視檔案系統磁碟塊分配圖得出總塊數與剩餘塊數。
檔案系統分配其中的一些磁碟塊用來記錄它自身的一些資料,如i節點,磁碟分佈圖,間接塊,超級塊等。這些資料對大多數使用者級的程式來說是不可見的,通常稱為Meta. Data。
du命令是使用者級的程式,它不考慮Meta. Data,而df命令則檢視檔案系統的磁碟分配圖並考慮Meta. Data。df命令獲得真正的檔案系統資料,而du命令只檢視檔案系統的部分情況。例如,一個frag=4096 並且 nbpi=4096的空的大小為4MB的日誌檔案系統中Meta. Data的分配情況如下:
1 4k block for the LVM
2 4k super blocks
2 4k blocks for disk maps
2 4k blocks for inode maps
2 4k blocks for .indirect
32 4k blocks for inodes
-------------------------
41 4k blocks for meta. data on an empty 4MB file system
對於AIX 4.X版本:
執行 du /foo返回的結果如下:
----8 -------/foo/lost+found
----16 ------/foo
要使du命令輸出的結果與df命令輸出的結果匹配,我們必須要加上Meta. Data。首先,將41個4k的塊轉換為以512位元組為單位的值:
41 * 8 = 328
328(meta. data) + 16(from du) = 344
所以有344個以512位元組為單位的塊分配給了這個空的檔案系統。
而使用 df /foo命令我們可以得到下面的結果:
Filesystem --512-blocks --Free --%Used --Iused---%Iused --Mounted on
/dev/lv01 ------8192 -----7848 -----5% -----16 -----2% ----/foo
從中我們可以得到該檔案系統使用的塊數:8192(total blocks) - 7848(free blocks) = 344。該值與上面得出的值一致。
上面的換算方法對於空的檔案系統很容易實現,但是對於非空的檔案系統,由於Meta. Data中檔案間接塊的大小不定,因此較難實現。所以我們不需要檢視du 與 df返回的值的匹配關係,而只需要瞭解du -s命令返回的值反映了分配給檔案及目錄的磁碟塊數,而df命令則反映了檔案系統的實際分配情況。df命令反映的實際情況包含了使用者資料(檔案及目錄)和Meta. Data。
另一個表現出du與df命令不同之處的例子如下:
如果使用者刪除了一個正在執行的應用所開啟的某個目錄下的檔案,則du命令返回的值顯示出減去了該檔案後的目錄的大小。但df命令並不顯示減去該檔案後的大小。直到該執行的應用關閉了這個開啟的檔案,df返回的值才顯示出減去了該檔案後的檔案系統的使用情況。
  列出一個目錄佔用的空間
1. du或du -s或du -k
  du -S | sort -n 可以迅速發現那個目錄是最大的。
2. 用df可以看到已安裝的檔案系統的空間大小及剩餘空間大小。
3. quota -v檢視使用者的磁碟空間資訊,如果你用quota限制了使用者空間大小的話。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-688972/,如需轉載,請註明出處,否則將追究法律責任。

相關文章