常用指令 du

前言

我們可以利用 du 指令來計算檔案或者資料夾大小。

安裝及設定

計算 /home 總共 (total) 佔用空間大小。
 /home # du -s      //只列 Total (單位為 K)
 378592  .

詳細列出 /home 下每個資料夾大小含子目錄佔用空間大小 (顯示人類易懂的單位)。
 /home # du -h     
 4.0K    ./log/squid/cache/08/E4
 4.0K    ./log/squid/cache/08/91
 4.0K    ./log/squid/cache/08/5B
 1.1M    ./log/squid/cache/08
 19M     ./log/squid/cache
 20M     ./log/squid
 20M     ./log
 370M    .          //Total 佔用空間大小

計算 /home 總共 (total) 佔用空間大小並顯示人類易懂的單位。
 /home # du -sh
 370M    .

接下來就是若只想看第一層資料夾並排序佔用空間大小怎麼做? 我們可利用其它指令搭配 du 指令來達成這個需求:
  • ls -l:列出檔案及資料夾
  • grep ^d:過濾出資料夾
  • awk '{print $9}':取第9個欄位,也就是資料夾名稱
  • xargs du -s:列出資料夾大小 (單位是 K)
  • sort -n:按數字大小排序
了解上面指令及參數的意義之後,我們可執行下列指令來查看 /(根目錄) 下所有資料夾佔用大小。
ls -l | grep ^d | awk '{print $9}' | xargs du -s | sort -n
 2       .snap
 2       cdrom
 2       dev
 2       dist
 2       media
 2       mnt
 2       proc
 26      root
 46      tmp
 158     libexec
 912     bin
 1702    etc
 3278    rescue
 3552    sbin
 3596    lib
 25050   var
 46640   boot
 1321502 usr
 56085972        home

查詢掛載點下前 5 名佔用最多空間的資料夾 (單位為 KB)。
du -s /var/* | sort -rn | head -5



參考