du (Unix)

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

終端中du的截圖

du(disk usage的縮寫,磁盤使用情況)是一個標準Unix程序,用於估量文件或文件夾的磁盤使用情況。

歷史

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

參考

外部連結

使用手冊

其他