du(disk usage)用於統計目錄或檔案佔用的磁碟空間。它會遞迴進入指定目錄的每個子目錄,顯示各目錄所佔用的資料區塊數(預設單位為 1024 位元組)。若未指定路徑,則統計目前目錄。
| 選項 | 說明 |
|---|---|
-s | 僅顯示每個參數的總區塊數(摘要模式) |
-a | 顯示所有檔案與目錄的區塊數(預設僅顯示目錄) |
-b | 以位元組為單位顯示 |
-k | 以 1024 位元組為單位顯示(預設) |
-c | 最後顯示總計 |
-l | 重複計算硬連結檔案大小 |
-x | 略過不同檔案系統上的目錄 |
$ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root 1024 Jul 3 10:33 aa* drwxr-xr-x 2 root root 1024 Jul 20 14:16 dev/ -rw-r--r-- 1 root root 6229 Aug 2 01:39 slack drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/ lrwxrwxrwx 1 root root 10 Aug 2 01:51 wei -> /home/wei/ dev: total 0 lrwxrwxrwx 1 root root 8 Jul 20 14:16 cdrom -> /dev/hdb var: total 37 -r-xr-xr-x 1 root root 36064 Aug 2 02:09 rawrite.exe*
$ du ./dev 38 ./var 48 . 48
第一欄為區塊數(1K 為單位),第二欄為目錄名稱。若只要總數,可加 -s:
$ du -s /mnt /mnt 48
$ du -ab 8 ./dev/cdrom 1032 ./dev 36064 ./var/rawrite.exe 37088 ./var 6229 ./slack 10 ./aa 10 ./wei 45493 .
sort -n 可依大小排序:du -k | sort -n-h(人類可讀)需核心工具支援,若無則用 du -k | awk '{print $1/1024 "M " $2}' 近似換算。