温馨提示×

如何利用Ubuntu进行磁盘清理

小樊
47
2025-09-01 14:45:04
栏目: 智能运维

如何利用Ubuntu进行磁盘清理
磁盘清理是Ubuntu系统维护的重要环节,可有效释放空间、提升系统性能。以下是系统级、用户级及工具辅助的全面清理方案,覆盖常见垃圾文件类型:

一、系统级基础清理(命令行/图形界面)

1. 清理APT软件包缓存

APT(Ubuntu包管理器)会缓存下载的.deb软件包,长期积累可能占用大量/var/cache/apt/archives/空间。

  • 彻底清除所有缓存sudo apt clean(删除所有已下载的软件包,仅保留锁定文件);
  • 仅清理过期缓存sudo apt autoclean(仅删除无法从仓库重新下载的旧版本包,保留当前可用版本);
  • 移除无用依赖sudo apt autoremove(删除自动安装但不再需要的依赖包,运行前可通过apt autoremove --dry-run预览操作)。

2. 清理系统日志

系统日志(如/var/log/目录下的文件)会随时间增长占用空间,可通过journalctl工具清理:

  • 保留最近2天的日志sudo journalctl --vacuum-time=2d(按时间清理,时间可调整为7d、30d等);
  • 保留最近100MB的日志sudo journalctl --vacuum-size=100M(按大小清理)。

3. 清理临时文件

  • 系统临时目录(/tmp/)sudo rm -rf /tmp/*(删除系统临时文件,重启后会自动清理,手动清理需谨慎);
  • 用户应用缓存(~/.cache/)rm -rf ~/.cache/*(删除浏览器、IDE等用户应用的缓存文件,谨慎操作避免误删重要数据)。

4. 清理缩略图缓存

文件管理器(如GNOME)会生成文件缩略图,存储在~/.cache/thumbnails/目录,长期积累可能占用数GB空间:
rm -rf ~/.cache/thumbnails/*(彻底删除缩略图缓存,下次访问文件时会重新生成)。

二、用户级针对性清理

1. 浏览器缓存清理

浏览器缓存(如Firefox、Chrome)会占用大量~/.cache/mozilla/~/.cache/google-chrome/空间:

  • 图形界面:打开浏览器→设置→隐私与安全→清除数据(勾选“缓存”);
  • 命令行(以Firefox为例)rm -rf ~/.cache/mozilla/firefox/*.default-release/cache/*

2. 旧内核清理

旧内核版本会占用/boot/分区空间(该分区通常较小),需保留当前运行内核和最新备用内核:

  • 查看已安装内核dpkg --list | grep linux-image(找到类似linux-image-5.4.0-XX-generic的条目);
  • 删除旧内核sudo apt purge linux-image-5.4.0-XX-generic(替换XX为旧内核版本号,切勿删除当前运行的内核,可通过uname -r查看)。

3. Snap/Flatpak缓存清理

Snap和Flatpak应用的缓存会占用/var/lib/snapd/cache/~/.local/share/flatpak/空间:

  • Snap缓存sudo rm -rf /var/lib/snapd/cache/*(删除Snap应用的缓存文件);
  • Flatpak未使用运行时flatpak uninstall --unused(删除未使用的运行时环境,减少空间占用)。

三、工具辅助深度清理

1. 图形化工具:BleachBit

BleachBit是开源的磁盘清理工具,支持清理系统缓存、浏览器缓存、日志、临时文件等,操作简单:

  • 安装sudo apt install bleachbit
  • 使用:打开应用→选择清理项目(如“系统缓存”“浏览器缓存”)→点击“清理”按钮。

2. 图形化工具:Stacer

Stacer是Ubuntu下的系统优化工具,提供“清理”“进程”“磁盘使用”等功能,支持一键扫描清理:

  • 安装sudo apt install stacer
  • 使用:打开应用→点击“清理”标签→选择清理项目(如“APT缓存”“旧内核”)→点击“清理”。

3. 命令行工具:ncdu

ncdu(NCurses Disk Usage)是可视化磁盘分析工具,可快速定位大文件/目录:

  • 安装sudo apt install ncdu
  • 使用ncdu /(扫描根目录,按大小排序,选中文件/目录按d键删除)。

四、自动化清理(可选)

通过cron任务定期执行清理脚本,例如每日凌晨2点清理/tmp/目录和APT缓存:

  • 创建脚本sudo nano /root/clean_cache.sh,输入以下内容:
    #!/bin/bash sync && echo 3 > /proc/sys/vm/drop_caches # 释放内存缓存 sudo apt clean && sudo apt autoremove -y # 清理APT缓存和无用依赖 sudo rm -rf /tmp/* # 清理/tmp目录 
  • 添加执行权限chmod +x /root/clean_cache.sh
  • 编辑Cron任务sudo crontab -e,添加以下行:
    0 2 * * * /root/clean_cache.sh(每日凌晨2点执行)。

注意事项

  • 备份重要数据:清理前备份个人文件(如~/Documents/~/Pictures/),避免误删;
  • 确认内核版本:删除旧内核前务必通过uname -r确认当前运行的内核,保留至少2个可用内核;
  • 谨慎使用rm -rf:该命令会递归删除目录及内容,操作前确认路径正确;
  • 生产环境注意:频繁清理内存缓存(drop_caches)可能影响系统性能,建议仅在内存紧张时使用。

0