linux中,查詢大檔案及清除其內容的方法

2021-07-13 05:48:05 字數 1812 閱讀 9645

**

linux作業系統中,經常會遇到磁碟空間滿的問題。如下圖1所示:

圖一:

磁碟空間滿,很多情況下是由於大文檔案引起的,若檔案不大,則一定是檔案過多引起的,至於引起這個更深一層的原因,先不**。

怎麼檢視大檔案所在的路徑,linux中有乙個命令,叫du,先貼命令:

du -m

--max

-depth

=1

或者

du -h

--max

-depth

=1

du:用於統計linux中檔案或目錄所佔磁碟空間的大小

du引數######

-m:以m為單位展示查詢結果

-h:以k、m、g為單位展示查詢結果,提高資訊可讀性

–max-depth=1:其中,數字「1」是指查詢結果中最多顯示的目錄層數,這裡指最多顯示一層目錄。

cd到掛載點後,執行du -m –max-depth=1或du -h –max-depth=1命令,示例如下:

作為對

du -m

--max

-depth

=1

的乙個優化,還可以使用

du -m

--max

-depth=1

|sort -nr

命令,這個命令的含義是統計目錄所佔磁碟空間的大小,並按數值的從大到小進行排序。

然後,利用此命令,cd到/opt目錄,再次利用「du -m –max-depth=1或du -h –max-depth=1」找出/opt目錄中占用磁碟較大的檔案或目錄,這樣逐層(目錄)深入就一定會查詢到大檔案所在目錄,當然也有可能是目錄中檔案過多所致。

特別注意:

以上方法只是對目錄大小,進行判定,所以當確定某目錄過大時,最好是cd到該目錄,檢視下有無大檔案,然後再確定是否進入下一層目錄。

當找到大檔案後,若因某些原因,不想對檔案進行刪除,可以用echo或cat或clear命令清除檔案內容:

echo > /opt/log/big.log
此命令會把/var/log目錄中的big.log檔案內容清除,而又不刪除big.log檔案

cat > /opt/log/big.log
此命令能與「echo > /var/log/big.log」達到相同效果,不過,命令執行後,需要用「ctrl + d」結束

clear > /opt/log/big.log
此命令會把big.log檔案內容清空,而不刪除檔案

同樣的效果,用true、flase、「:」等也能實現清空檔案內容,而不刪除檔案的效果

true > /opt/log/big.log

flase > /opt/log/big.log

: > /opt/log/big.log

若想刪除檔案,只需利用rm命令即可

rm -f  /opt/log/big.

log

Linux查詢大檔案

有時候我們在系統上安裝了數十個應用 最簡單的方法就是借助 ls 命令,因為 ls 命令本身輸出是帶檔案大小資訊的。比如,我要列出 bin 目錄中的 5 個最大檔案,可以 ls lsh bin head 5 find 本身就是查詢命令,可以遞迴查詢乙個目錄的子目錄,所以用它是自然的。比如,查詢 目錄下...

linux 查詢大檔案

linux作業系統中,經常會遇到磁碟空間滿的問題。遇到這樣的問題,先查下是什麼檔案過大或過多引起的,至於引起這個更深一層的原因,先不 怎麼檢視大檔案所在的路徑,linux中有乙個命令,叫du,先貼命令 du m max depth 1或du h max depth 1 du 用於統計linux中檔案...

Git中刪除大檔案或清除汙染檔案

有時候,如果gitignore沒有寫好,或者自己在某些目錄下放入了乙個大檔案,而同時又已經commit或者push到倉庫裡了,很容易導致倉庫容量越來越大,同時你本地的.git裡的pack檔案也會大得一塌糊塗 github裡有給出此類的解決方法 這樣看來的話,可能還是有點懵,因為在其中還需要額外的操作...