1. 清理臨時文件
臨時文件是系統運行過程中產生的無用文件,主要存放在/tmp
(臨時文件,重啟后可能被清除)和/var/tmp
(長期臨時文件)目錄。使用以下命令可快速清理:
sudo rm -rf /tmp/* # 清理/tmp目錄下所有文件(謹慎操作,避免刪除正在使用的文件)
sudo rm -rf /var/tmp/* # 清理/var/tmp目錄下所有文件
部分應用程序會在用戶目錄下生成臨時文件(如Firefox的緩存),可通過以下命令清理:
rm -rf ~/.mozilla/firefox/*/Cache/* # 清理Firefox緩存(替換~為具體用戶目錄)
2. 清理包管理器緩存
包管理器(YUM/DNF)會緩存下載的軟件包和元數據,占用/var/cache/yum
(CentOS 7及以下)或/var/cache/dnf
(CentOS 8及以上)目錄空間。清理命令如下:
# CentOS 7及以下(YUM)
sudo yum clean all # 清理所有緩存(包括元數據、下載的包)
# 或選擇性清理
sudo yum clean metadata # 清理元數據
sudo yum clean packages # 清理下載的RPM包
# CentOS 8及以上(DNF,兼容YUM命令)
sudo dnf clean all # 清理所有緩存
3. 清理系統日志文件
日志文件(如/var/log/messages
、/var/log/secure
)會隨時間增長占用大量空間??赏ㄟ^以下方法清理:
# 截斷大日志文件(保留文件但清空內容)
sudo journalctl --vacuum-time=3d # 刪除3天前的日志
sudo journalctl --vacuum-size=100M # 限制日志文件總大小為100MB
# 手動刪除舊日志(謹慎操作,避免刪除正在寫入的日志)
sudo find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \; # 刪除30天前的.log文件
sudo truncate -s 0 /var/log/*.log # 清空所有.log文件(需確認無重要日志)
4. 清理系統緩存
系統緩存(頁面緩存、目錄項緩存、inode緩存)用于提升性能,但過多會占用內存??赏ㄟ^以下命令釋放:
sudo sync # 將緩存數據同步到磁盤(避免數據丟失)
echo 3 | sudo tee /proc/sys/vm/drop_caches # 清理頁面緩存、目錄項緩存、inode緩存
注:echo 1
僅清理頁面緩存,echo 2
清理目錄項和inode緩存,echo 3
清理全部。
5. 刪除無用軟件包和舊內核
無用軟件包(如不再需要的依賴)和舊內核會占用磁盤空間,可通過以下命令清理:
# 刪除孤立包(無依賴的軟件包)
sudo package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
# 刪除舊內核(保留最新的2個內核)
sudo package-cleanup --oldkernels --count=2
# 刪除指定軟件包(如httpd)
sudo yum remove httpd -y # CentOS 7及以下
sudo dnf remove httpd -y # CentOS 8及以上
6. 清理用戶緩存和應用緩存
用戶目錄下的緩存(如瀏覽器、Composer、Node.js)也會占用空間,可通過以下命令清理:
# 清理用戶緩存目錄
rm -rf ~/.cache/* # 清理當前用戶的緩存
# 清理瀏覽器緩存(示例:Chrome、Firefox)
rm -rf ~/.cache/google-chrome/* # Chrome緩存
rm -rf ~/.mozilla/firefox/*/Cache/* # Firefox緩存
# 清理Composer緩存(PHP依賴管理)
rm -rf ~/.composer/cache
# 清理Node.js緩存(JavaScript依賴管理)
rm -rf ~/.npm # 用戶級npm緩存
rm -rf /root/.npm # root用戶的npm緩存
7. 使用第三方工具(可選)
若希望圖形化或自動化清理,可使用以下工具:
sudo yum install bleachbit -y # 安裝
sudo bleachbit # 啟動(選擇清理項目)
sudo yum install ncdu -y # 安裝
sudo ncdu / # 掃描根目錄
8. 自動化清理腳本(可選)
可通過腳本定期自動執行清理任務,例如創建cleanup_centos.sh
:
#!/bin/bash
echo "開始清理CentOS系統..."
# 清理臨時文件
rm -rf /tmp/* /var/tmp/*
# 清理YUM緩存
yum clean all
# 清理日志(保留最近7天的.log文件)
find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;
# 清理系統緩存
sync; echo 3 > /proc/sys/vm/drop_caches
# 清理用戶緩存
rm -rf ~/.cache/*
echo "清理完成!"
賦予執行權限并運行:
chmod +x cleanup_centos.sh
./cleanup_centos.sh
注意事項
/home
目錄、數據庫),避免誤刪。