du(disk usage的縮寫,磁碟使用情況)是一個標準Unix程式,用於估量檔案或資料夾的磁碟使用情況。

終端中du的截圖

歷史

du工具首次出現在AT&T Unix的第一版中。

規範

預設情況下,單一UNIX規範規定,du顯示當前目錄每個檔案與目錄的被分配磁碟空間的情況。連結檔案將會顯示其本身大小而非其連結對象;目錄則會顯示其內容的大小。

由於du只反映磁碟分配情況而非實際檔案大小,所以如果檔案被刪除後磁碟未被釋放,其顯示的數字會與df報告的數字有所不同。

用法

du可以帶一個參數,即指定一個路徑來工作;如果沒有指定,則使用當前目錄。SUS指定了du有以下這些選項:

-a,顯示所有的檔案和目錄,而不僅僅顯示目錄。
-H,計算命令列中指定連結對象的磁碟使用情況。
-k,將大小除以1024位元組,而非512位元組顯示。
-L,計算任意連結對象的使用情況。
-s,僅匯報當前目錄總計的磁碟使用情況,而不顯示每一個檔案。
-x,僅遍歷指定路徑所在裝置上的檔案與目錄。

其他Unix和類Unix作業系統可能提供額外的選項。例如,BSDGNUdu規定了一個-h選項,把磁碟使用情況的大小加上單位字尾,顯示為一個用戶更容易理解的形式。(如:10MB)

範例

KB單位的目錄總大小:

 $ du -sk *
 152304  directoryOne
 1856548 directoryTwo

更易讀的目錄總大小格式(Byte、KB、MB、GB、TB、PB):

 $ du -sh *
 149M directoryOne
 1.8G directoryTwo

當前目錄下包含隱藏檔案,子目錄與檔案的磁碟使用情況(從小到大排序):

 $ du -sk .[!.]* *| sort -n

當前目錄下包含隱藏檔案,子目錄與檔案的磁碟使用情況(從大到小排序):

 $ du -sk .[!.]* *| sort -nr

顯示深度為1的目錄大小及其總和

 $ du -d 1 -c -h

參考

外部連結

使用手冊

其他