du (Unix)
du
(disk usage的縮寫,磁碟使用情況)是一個標準Unix程式,用於估量檔案或資料夾的磁碟使用情況。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Du_unix_output.png/220px-Du_unix_output.png)
歷史
編輯du
工具首次出現在AT&T Unix的第一版中。
規範
編輯預設情況下,單一UNIX規範規定,du
顯示當前目錄每個檔案與目錄的被分配磁碟空間的情況。連結檔案將會顯示其本身大小而非其連結對象;目錄則會顯示其內容的大小。
由於du
只反映磁碟分配情況而非實際檔案大小,所以如果檔案被刪除後磁碟未被釋放,其顯示的數字會與df報告的數字有所不同。
用法
編輯du
可以帶一個參數,即指定一個路徑來工作;如果沒有指定,則使用當前目錄。SUS指定了du
有以下這些選項:
- -a,顯示所有的檔案和目錄,而不僅僅顯示目錄。
- -H,計算命令列中指定連結對象的磁碟使用情況。
- -k,將大小除以1024位元組,而非512位元組顯示。
- -L,計算任意連結對象的使用情況。
- -s,僅匯報當前目錄總計的磁碟使用情況,而不顯示每一個檔案。
- -x,僅遍歷指定路徑所在裝置上的檔案與目錄。
其他Unix和類Unix作業系統可能提供額外的選項。例如,BSD與GNU的du
規定了一個-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
參考
編輯外部連結
編輯使用手冊
編輯- du(頁面存檔備份,存於互聯網檔案館) — GNU coreutils中的使用手冊
- du — OpenBSD中的使用手冊
- du(頁面存檔備份,存於互聯網檔案館) — Dragonflybsd中的使用手冊
其他
編輯- Disk space-related utilities at Freshmeat.net