CentOS清理临时文件的实用技巧
临时文件主要存放在/tmp、/var/tmp和用户目录的.cache文件夹中,可通过rm命令快速清理:
sudo rm -rf /tmp/* # 清理/tmp目录下所有文件(谨慎操作,避免删除正在使用的文件)
sudo rm -rf /var/tmp/* # 清理/var/tmp目录下所有文件
rm -rf ~/.cache/* # 清理当前用户的缓存文件
rm -rf ~/.local/share/Trash/* # 清理回收站中的文件
注意:rm -rf会强制删除文件且不提示,执行前需确认目录内无重要文件。
通过find命令可按时间或大小筛选临时文件,避免误删:
sudo find /tmp -type f -mtime +7 -exec rm -f {} \; # 清理/tmp下7天未修改的文件
sudo find /var/tmp -type f -mtime +7 -exec rm -f {} \; # 清理/var/tmp下7天未修改的文件
sudo find /tmp -type f -size +100M -exec rm -f {} \; # 清理/tmp下大于100MB的文件
sudo find /var/tmp -type f -size +100M -exec rm -f {} \; # 清理/var/tmp下大于100MB的文件
CentOS 7及以上版本内置systemd-tmpfiles工具,可配置规则定期自动清理:
systemd-tmpfiles --list
/etc/tmpfiles.d/cleanup.conf文件:sudo nano /etc/tmpfiles.d/cleanup.conf
添加以下内容:w /tmp 1777 root root 7d # /tmp目录下文件7天未修改则清理
w /var/tmp 1777 root root 14d # /var/tmp目录下文件14天未修改则清理
sudo systemd-tmpfiles --clean
通过cron定时任务可实现每日/每周自动清理,避免手动操作:
sudo crontab -e
0 2 * * * find /tmp -type f -mtime +7 -exec rm -f {} \;
0 2 * * * find /var/tmp -type f -mtime +7 -exec rm -f {} \;
或使用systemd-tmpfiles命令:0 2 * * * /usr/bin/systemd-tmpfiles --clean
sudo yum install ncdu # CentOS 7及以下
sudo dnf install ncdu # CentOS 8及以上
sudo ncdu / # 扫描根目录,按大小排序,删除不需要的大文件
sudo yum install tmpwatch # 安装tmpwatch
sudo tmpwatch 7d /tmp # 清理/tmp下7天未访问的文件
sudo tmpwatch 7d /var/tmp # 清理/var/tmp下7天未访问的文件
包管理器的缓存文件可能占用大量空间,定期清理可释放空间:
sudo yum clean all # 清理yum缓存(包括下载的软件包和元数据)
sudo dnf clean all # 清理dnf缓存
/tmp下可能有系统或应用程序临时文件)。find或tmpwatch时,可先去掉-exec rm -f {} \;部分,查看将要删除的文件列表,确认无误后再执行清理。