临时文件主要存放在/tmp(系统临时目录,重启后自动清空部分文件)和/var/tmp(长期临时目录)目录下。通过rm命令可快速删除这些目录中的内容:
# 切换至root用户(需管理员权限)
sudo su -
# 删除/tmp目录下所有文件及子目录(谨慎使用,避免误删正在运行的进程文件)
rm -rf /tmp/*
# 删除/var/tmp目录下所有文件及子目录
rm -rf /var/tmp/*
注意:rm -rf会强制递归删除,执行前需确认目录中无重要文件。
若需更精准地清理(如删除7天前或大于100MB的临时文件),可使用find命令:
# 删除/tmp目录下7天前修改的文件
sudo find /tmp -type f -mtime +7 -exec rm -f {} \;
# 删除/var/tmp目录下大于100MB的文件
sudo find /var/tmp -type f -size +100M -exec rm -f {} \;
参数说明:-mtime +7表示7天前修改的文件,-size +100M表示大于100MB的文件。
CentOS 7及以上版本内置systemd-tmpfiles工具,可根据配置文件自动清理临时文件:
# 查看当前临时文件清理配置(可选)
systemd-tmpfiles --list
# 执行清理(根据/etc/tmpfiles.d/目录下的配置规则)
sudo systemd-tmpfiles --clean
自定义配置:若需调整清理规则(如设置/tmp目录7天后自动清理),可编辑/etc/tmpfiles.d/cleanup.conf文件:
sudo nano /etc/tmpfiles.d/cleanup.conf
添加以下内容(w表示写入规则,1777为目录权限,root root为所有者):
w /tmp 1777 root root -
w /var/tmp 1777 root root -
保存后运行sudo systemd-tmpfiles --create应用配置。
为避免手动操作,可通过cron定时任务定期清理临时文件(如每天凌晨2点):
# 编辑当前用户的crontab文件
sudo crontab -e
添加以下行(每天凌晨2点执行find命令清理7天前的临时文件):
0 2 * * * find /tmp -type f -mtime +7 -exec rm -f {} \;
0 2 * * * find /var/tmp -type f -mtime +7 -exec rm -f {} \;
保存后,cron会自动加载配置并定期执行。
若需图形化界面或更全面的清理(如浏览器缓存、应用程序缓存),可使用bleachbit工具:
# 安装bleachbit
sudo yum install bleachbit
# 运行bleachbit(图形化界面,选择需清理的项目)
bleachbit
注意:图形化工具适合不熟悉命令行的用户,但清理时仍需谨慎选择项目。
lsof | grep /tmp查看占用进程)。sudo或root用户执行清理命令,否则可能无法删除部分文件。/tmp目录下正在被系统或应用程序使用的文件(如锁文件、socket文件),否则可能导致系统或应用异常。