linux查找系統中占用磁盤空間最大的文件


Q:下午有一客戶磁盤空間占用很大,使用df查看磁盤剩余空間很小了,客戶想知道是哪些文件占滿了文件。 

  • Q1:在Linux下如何查看系統占用磁盤空間最大的文件?
  • Q2:在Linux下如何讓文件夾下的文件讓文件按大小排序?

A:

不知您是否遇到過這樣的問題,服務器上架沒多長時間磁盤怎么裝滿了。

分析:大多是由於日志沒有輪滾,可以使用腳本或logrotate將日志定期備份刪除或直接關閉不需要的日志記錄功能。51開源社區帖子有相關各種服務器日志的處理方法。接下來你會想起來去apache和mysql或其他應用服務器的日志文件所在的路徑。進入相應的日志路徑后發現果然是日志惹的禍,刪除日志,關於日志輪滾請參照51開源社區其他帖子。但這並不是本文的主題所在。 假如是其他文件占用了磁盤空間,如何查出來呢。我主要使用find和du命令。

使用find命令找到大於指定大小的文件:

[root@localhost data]# find / -type f -size +10G

將輸出:

/usr/local/apache2/logs/access_log

馬上可以通過du命令查看此文件的大小:

[root@localhost data]# du -h /usr/local/apache2/logs/access_log
24G /usr/local/apache2/logs/access_log

我們可以重復執行find命令來查找大文件,例如:find / -type f -size +5G 找到大於5G的文件。 find / -type f -size +1G 找到大於1G的文件

在Linux下如何讓文件夾下的文件讓文件按大小排序?

有兩種方法。

  • 方法一:# ls -lhSl 長格式顯示,h human readable模式,大小單位為M,G等易讀格式,S size按大小排序。
  • 方法二:# du -h * | sort -n

當然您也可以結合管道查看文件夾內最大的幾個文件或最小的幾個文件, 再加上管道符號和head或者tail命令即可du -h * | sort -n|head du -h * | sort -n|tail


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM