CentOS系统清理垃圾文件的常用方法
临时文件是系统或应用程序运行时产生的无用文件,主要存储在/tmp和/var/tmp目录下。可使用以下命令清理:
sudo rm -rf /tmp/* # 清理/tmp目录下的所有临时文件(系统重启后会重新生成)
sudo rm -rf /var/tmp/* # 清理/var/tmp目录下的临时文件
注意:/tmp目录下的文件多为临时使用,删除后不会影响系统正常运行,但需避免误删正在使用的文件。
包管理器(YUM/DNF)在安装/更新软件时会缓存软件包和元数据,长期积累会占用大量磁盘空间。
sudo yum clean all # 清理所有YUM缓存(包括元数据、已下载的RPM包)
sudo dnf clean all # 清理所有DNF缓存(功能与YUM类似)
补充:若只需清理特定缓存(如元数据),可使用sudo yum clean metadata(YUM)或sudo dnf clean metadata(DNF)。
系统日志(如/var/log/messages、/var/log/secure)会随时间增长占用大量空间,可通过以下方式管理:
sudo journalctl --vacuum-time=2weeks # 删除两周前的日志(保留最近2周)
sudo journalctl --vacuum-size=100M # 限制日志总大小为100MB(自动删除旧日志)
sudo truncate -s 0 /var/log/nginx/access.log # 清空Nginx访问日志(不删除文件)
sudo rm -f /var/log/old_log.log # 删除旧日志文件(需确认日志无用)
/etc/logrotate.conf或服务对应的配置文件(如/etc/logrotate.d/nginx),设置轮转策略(如每天轮转、保留7份旧日志、压缩旧日志),实现日志自动管理。系统会缓存页面、目录项和inode以提高性能,但过度缓存会占用内存。可通过以下命令清理(不影响系统稳定性,但可能导致后续操作稍慢):
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
# sync:将缓存数据写入磁盘;echo 3:清理页面缓存、目录项缓存、inode缓存
说明:此命令无需重启系统,清理后系统会自动重新生成缓存。
系统中无用的软件包(如已卸载软件的依赖)会占用磁盘空间,可通过以下命令清理:
sudo yum autoremove # 自动删除不再被任何软件包依赖的无用包
sudo dnf autoremove # 功能与YUM类似
补充:若需手动删除特定软件包,可使用sudo yum remove <package_name>(YUM)或sudo dnf remove <package_name>(DNF)。
通过find命令查找并删除系统中占用空间大的文件(如大于100MB的文件):
sudo find / -type f -size +100M -exec ls -lh {} \; # 列出所有大于100MB的文件
sudo find / -type f -size +100M -exec rm -f {} \; # 删除所有大于100MB的文件(需谨慎)
注意:执行前需确认文件用途,避免误删系统关键文件(如数据库文件、配置文件)。
若需图形化操作或更全面的清理,可使用第三方工具(如BleachBit):
sudo yum install bleachbit # CentOS 7及以下(YUM)
sudo dnf install bleachbit # CentOS 8及以上(DNF)
sudo bleachbit # 启动图形化界面,选择清理项目(如临时文件、缓存、日志)
说明:BleachBit支持清理浏览器缓存、系统临时文件、回收站等多种垃圾文件,适合不熟悉命令行的用户。
/var/log、/home等关键目录,防止误删重要文件。