温馨提示×

Linux清理大师:如何清理系统缓存和临时文件

小樊
61
2026-01-09 15:00:38
栏目: 智能运维

Linux清理大师 清理系统缓存与临时文件实操指南

一 快速定位大占用

  • 查看磁盘空间:使用命令:df -h,快速判断哪个分区吃满。
  • 分析目录占用:使用命令:sudo ncdu /(或 ncdu /path),交互式定位大目录与文件。
  • 辅助观察内存与缓存:使用命令:free -h,关注“buff/cache”列的变化。
    以上三步能迅速找出“哪里占得多、是否需要清理”。

二 清理包管理器缓存

  • Debian/Ubuntu 系列:
    • 清理旧包:sudo apt-get autoclean
    • 清理全部下载包:sudo apt-get clean
    • 删除无用依赖:sudo apt-get autoremove(必要时加 –purge 清理配置)
  • RHEL/CentOS 与 Fedora:
    • sudo yum clean allsudo dnf clean all
    • 移除无用依赖:sudo yum autoremove / sudo dnf autoremove
  • Arch Linux:
    • 清理未使用缓存:sudo pacman -Sc
    • 清理全部缓存(更激进):sudo pacman -Scc
      这些操作安全、可回退(除彻底清理缓存外),优先释放来自包管理的“可重新下载”的磁盘占用。

三 清理系统内存缓存(按需执行)

  • 查看缓存:free -h
  • 写入磁盘以防数据丢失:sync
  • 释放缓存(仅当内存紧张或测试需要):
    • 仅页面缓存:echo 1 | sudo tee /proc/sys/vm/drop_caches
    • 仅目录项与 inode:echo 2 | sudo tee /proc/sys/vm/drop_caches
    • 全部(页面+目录项+inode):echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 风险提示:该操作会令系统短时性能下降(需重新加载数据),通常无需手动执行,内核会自动管理缓存。
    以上步骤对应 Linux 的 drop_caches 接口,执行务必谨慎。

四 清理临时文件与日志

  • 系统临时目录:
    • 安全清理过期文件:sudo find /tmp -type f -atime +10 -delete(示例:删除10天未访问的文件,可按需调整)
    • 如需清空:sudo rm -rf /tmp/ /var/tmp/*(谨慎)*
  • 用户级缓存与缩略图:
    • rm -rf ~/.cache/ ~/.thumbnails/*(谨慎)*
  • 日志管理:
    • 使用 systemd 日志:限制大小 sudo journalctl --vacuum-size=100M;或按时间 –vacuum-time=3d
    • 传统日志轮转:检查与强制执行 sudo logrotate -f /etc/logrotate.conf
  • 回收站:
    • 清理当前用户回收站:rm -rf ~/.local/share/Trash/;root 回收站:sudo rm -rf /root/.local/share/Trash/
      以上做法覆盖常见“临时文件/日志/缩略图/回收站”位置,优先使用“按时间/条件删除”,避免粗暴清空。

五 自动化与进阶优化

  • 一键清理脚本示例(按需启用/调整):
    • 示例:清理日志、包缓存、临时文件、用户缓存与回收站;可加入 docker system prune -a 等按需项。
  • 定时任务:
    • 编辑计划任务:crontab -e
    • 示例(每周日凌晨2点执行):0 2 * * 0 /path/to/cleanup.sh
  • 查找并清理大文件:
    • 查找大于100MB的文件:sudo find / -type f -size +100M 2>/dev/null
  • 可选优化(不建议频繁改动):
    • 调整 VFS 缓存回收倾向:echo 150 | sudo tee /proc/sys/vm/vfs_cache_pressure(默认100;大于100更积极回收)
  • 图形化工具:
    • BleachBit(系统/用户级清理)、GNOME 磁盘使用分析器/Baobab(定位大目录)
      自动化能显著降低维护成本,建议先在测试环境验证脚本影响。

0