這陣子磁碟空間消耗極為快速,所以想找出哪個目錄是罪魁禍首,如果單純使用File Browser一個個按右鍵檢視,實在不是一個明智之舉,後來試出du搭配sort可以快速地整理出我想要的資訊。


du -B M --max-depth=1 | sort -g


du是查看磁碟空間的指令,若沒有設定好參數,輸出的內容過於詳細而讓我眼花瞭亂,加上沒有排序功能,更難一眼看出哪些目錄佔去空間。這裡我下的參數是 -B M,意思是統一以Mega(百萬位元組)為單位來顯示容量,如果沒有搭配這個參數,du的輸出會自動以KB顯示,單位過小,換算不易,換成MB或GB為單元在目前是比較適宜的。而--max-depth=1可以把子目錄的容量不顯示出來,但會加總到它的父目錄容量下,如果想要深入了解某個目錄下各個子目錄的情況,可以試著改變depth的數值來得到有用的資訊。

du得到的結果用pipe的方式導向給排序指令sort,如果不排序,du會照字母順序顯示,一般情況很少這樣用,所以搭配sort使用是較佳的方式,至於sort後面的參數用-g或是-n都沒差,都會照大小排好,如果sort後面什麼都不加,結果會照字母順序排列。

以下是輸出畫面的範例,我是在我自己的家目錄/home下輸入這些指令,畫面最後一行101329M (約100GB) 則表示總共所使用的磁碟空間。如果結果出現1M則代表這個檔案<1MB,並不是真的佔去1MB的空間。

du -B M --max-depth=1 | sort -g



若想詳細看/software目錄的情況,可以在du指令後面接目錄名稱,子目錄的層數依然可用--max-depth控制。

du -B M --max-depth=1 ./software | sort -g


arrow
arrow
    全站熱搜

    banco 發表在 痞客邦 留言(2) 人氣()