詳細分析Linux du命令的使用

Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有壹些區別的,這裏介紹Linux du命令。

  du:查詢檔案或目錄的磁盤使用空間

  a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間

  b:大小用bytes來表示 (默認值為k bytes)

  c:最後再加上總計 (默認值)

  s:只顯示各檔案大小的總合

  x:只計算同屬同壹個檔案系統的檔案

  L:計算所有的檔案大小

  常用命令:du –a

  操作詳解

  引用

  指令 du 能以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所占用的磁盤空間大小。例如:

  # du -h /etc

  104K /etc/defaults

  6.0K /etc/X11

  8.0K /etc/bluetooth

  4.0K /etc/gnats

  52K /etc/isdn

  388K /etc/mail

  68K /etc/mtree

  2.0K /etc/ntp

  38K /etc/pam.d

  44K /etc/periodic/daily

  6.0K /etc/periodic/monthly

  42K /etc/periodic/security

  16K /etc/periodic/weekly

  110K /etc/periodic

  6.0K /etc/ppp

  318K /etc/rc.d

  2.0K /etc/skel

  130K /etc/ssh

  10K /etc/ssl

  1.7M /etc

  我們目樣使用 -h 參數來顯示 human-readable 的格式。在應用時,我們可以使用 du 這個指令來查看哪個目錄占用最多的空間。不過,du 的輸出結果通常很長,我們可以加上 -s 參數來省略指定目錄下的子目錄,而只顯示該目錄的總合即可:

  # du -sh /etc

  1.7M /etc

  在查看目錄的使用情形時,我們可以將輸出結果導到 sort 指令進行排序,以了解哪個檔案用了最多的空間:

  # du /etc | sort -nr | more

  1746 /etc

  388 /etc/mail

  318 /etc/rc.d

  130 /etc/ssh

  110 /etc/periodic

  104 /etc/defaults

  68 /etc/mtree

  52 /etc/isdn

  44 /etc/periodic/daily

  42 /etc/periodic/security

  38 /etc/pam.d

  16 /etc/periodic/weekly

  10 /etc/ssl

  8 /etc/bluetooth

  6 /etc/ppp

  6 /etc/periodic/monthly

  6 /etc/X11

  4 /etc/gnats

  2 /etc/skel

  2 /etc/ntp

  sort 的參數 -nr 表示要以數字排序法進行反向排序,因為我們要對目錄大小做排序,所以不可以使用 human-readable 的大小輸出,不然目錄大小中會有 K、M 等字樣,會造成排序不正確。

  現在明了了Linux du命令和Linux df命令的不同之處了嗎。