温馨提示×

Linux清理系统垃圾的实用方法

小樊
45
2025-08-30 10:33:59
栏目: 智能运维

一、系统日志清理
系统日志会随时间积累占用大量空间,可通过以下命令清理:

  • journalctl 命令:用于管理 systemd 日志,常用选项包括:
    • sudo journalctl --vacuum-time=7d:删除7天前的日志条目;
    • sudo journalctl --vacuum-size=100M:将日志文件总大小限制为100MB;
    • sudo journalctl --rotate:归档当前日志并开始新的日志记录。

二、缓存与临时文件清理
临时文件和缓存会占用磁盘空间且无实际用途,需定期清理:

  • 包管理器缓存
    • Debian/Ubuntu(APT):sudo apt-get clean(清理APT缓存目录中的.deb包)、sudo apt-get autoclean(删除不再可用的旧包);
    • CentOS/RHEL(YUM/DNF):sudo yum clean all(清理YUM缓存)、sudo dnf clean all(DNF同理)。
  • 系统临时目录
    • 删除 /tmp/var/tmp 下的所有文件(谨慎操作,避免删除正在使用的文件):sudo rm -rf /tmp/*sudo rm -rf /var/tmp/*
    • 使用 tmpwatch/tmpreaper 工具清理指定天数未访问的临时文件(如 sudo tmpwatch 7d /tmp 清理7天未访问的文件)。
  • 用户临时文件与回收站
    • 清理用户目录下的缓存和回收站:rm -rf ~/.cache/*rm -rf ~/.local/share/Trash/*

三、无用软件包与内核清理
卸载软件后,残留的依赖包和旧内核会增加系统负担:

  • 自动移除无用依赖
    • Debian/Ubuntu:sudo apt-get autoremove --purge(删除不再需要的依赖包及配置文件);
    • CentOS/RHEL:sudo yum autoremove(类似功能)。
  • 清理旧内核
    • Debian/Ubuntu:sudo apt-get autoremove --purge $(dpkg -l | grep 'linux-image-.*-generic' | grep -v $(uname -r) | awk '{print $2}')(删除除当前内核外的旧内核);
    • CentOS/RHEL:package-cleanup --oldkernels(需安装 yum-utils 包)。

四、大文件与旧文件查找与清理
通过命令查找占用空间大的文件或旧文件,针对性清理:

  • 查找大文件
    • 查找当前目录及子目录下大于1GB的文件:find /path/to/dir -type f -size +1G -exec ls -lh {} \;
    • 按大小排序当前目录文件:du -ah . | sort -rh | head -10(显示前10大文件)。
  • 查找旧文件
    • 删除7天前的.log日志文件:find /var/log -type f -name "*.log" -mtime 7 -exec rm {} \;
    • 删除30天前的备份文件:find /path/to/backup -type f -mtime +30 -delete

五、浏览器缓存清理
浏览器缓存会占用大量空间,可通过浏览器设置清理:

  • Firefox:打开“选项”→“隐私与安全”→“Cookies 和站点数据”→“清除数据”;
  • Chrome:打开“设置”→“隐私和安全”→“清除浏览数据”,选择时间范围(如“30天”)并勾选“缓存的图像和文件”。

六、图形界面清理工具
若不熟悉命令行,可使用以下图形工具简化操作:

  • BleachBit:开源跨平台工具,支持清理缓存、日志、临时文件、浏览器数据等,支持命令行(sudo bleachbit);
  • Ubuntu Cleaner:专为Ubuntu设计,清理APT缓存、缩略图缓存、未使用包等,界面简洁;
  • Stacer:系统优化工具,提供实时监控、清理垃圾、管理启动项等功能,适合桌面用户;
  • FSlint:查找并清理重复文件、空目录、临时文件,支持命令行和GUI。

七、定期维护建议

  • 设置定时任务:通过cron定期执行清理命令(如每天凌晨清理临时文件);
  • 备份重要数据:清理前备份个人文件(如文档、照片),避免误删;
  • 避免过度清理:谨慎使用rm -rf命令,尤其避免删除系统关键目录(如/etc/usr)。

0