最近家中的linux突然磁碟空間爆增!!!
到底是什麼檔案佔用了這些空間?
在找出大檔案時,又怎麼知道Linux剩餘磁碟空間呢?
df -h 就可以很清楚知道目前磁碟空間是使用多少了
至於如何找到佔用的檔案,可以利用以下指令
du: 計算目錄所使用的空間
sort: 將輸入的資料排序
head: 將輸入資料的最開頭幾行資料輸出
像如要找到home下最大前5名如下
du -a /home | sort -n -r | head -n 5
至於要找到磁碟佔用最大的檔案呢?
方式有好幾種:
第一種方式:
像是我們可以先至根目錄下利用
指令 du -h –max-depth=1
–max-depth是表示查詢子目錄的層級
就可查到目錄佔用的情形,再到較大的目錄,重覆利用此指令去找出佔用較大的檔案
第二種方式:
利用 find指令如
find / –type f –size +5G
我們可以利用此種方式找出大於5G 的檔案
第三種方式:
find / -type f -exec du {} \; 2>/dev/null | sort -n | tail -n 10 | xargs -n 1 du -h 2>/dev/null
“find / -type f” 的意思是「搜尋根目錄中的所有檔案」。
-exec du {} \;” 代表「每個找到的檔案都用 du 指令執行以取得以 bytes 為單位的檔案大小資訊」。
“2>/dev/null” 是指將所有的錯誤訊息丟棄。
“sort -n” 會將所有的檔案依大小列出,
“tail -n 10” 則是顯示最後 10 筆,兩個指令合起來就會顯示出依大小排序的前 10 大檔案
發佈留言