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目录、数据库),避免误删。