在清理前,先通過以下命令查看磁盤使用情況,明確哪些分區空間不足:
df -h # 查看各分區掛載點及使用率(重點關注/dev/sdaX等根分區)
df -i # 查看inode使用率(若inode耗盡,即使磁盤空間充足也無法創建文件)
find
是CentOS下最基礎的大文件查找工具,可通過文件大小、類型、修改時間等條件精準定位:
find /home -type f -size +100M
-type f
限制只查找普通文件,-size +100M
表示大于100MB(支持+1G
、+500k
等單位)。find /home -type f -size +100M -exec rm -f {} \;
-exec rm -f {} \;
會對每個找到的文件執行rm -f
(強制刪除)。find /var/log -type f -name "*.log.*" -mtime +7 -exec rm -f {} \;
-mtime +7
表示修改時間超過7天的文件,*.log.*
匹配日志文件(可根據實際擴展名調整)。du
(disk usage)可統計目錄/文件的磁盤占用,結合sort
排序能快速定位最大的文件或目錄:
du -ah --max-depth=1 | sort -rh | head -n 10
du -ah
顯示所有文件/目錄的大?。ㄈ祟惪勺x格式,如K/M/G),--max-depth=1
限制只顯示當前目錄下一層,sort -rh
按數值降序排列,head -n 10
取前10條。du -ah /usr/local --max-depth=1 | sort -rh | head -n 10
ncdu
(NCurses Disk Usage)是文本界面的磁盤分析工具,比命令行更直觀,支持交互式刪除:
sudo yum install ncdu -y
ncdu /home
掃描完成后,界面會顯示目錄/文件的大小排名,使用方向鍵導航,按Enter
進入子目錄,按d
鍵刪除文件/目錄(刪除前需確認)。系統臨時文件和緩存會占用大量空間,定期清理可快速釋放空間:
rm -rf /tmp/*
rm -rf /var/tmp/*
yum clean all
journalctl --vacuum-time=3d
日志文件是磁盤空間的“大戶”,可通過以下方式清理:
rm -f /var/log/messages
/etc/logrotate.conf
或/etc/logrotate.d/
下的配置文件,設置日志保留天數、壓縮規則等,實現自動管理。sudo
提升權限。rm -rf
命令會遞歸刪除目錄及其內容,無法恢復,建議先使用find
命令查看文件列表再刪除。