温馨提示×

ubuntu中如何回收删除文件空间

小樊
31
2025-12-17 22:24:04
栏目: 云计算

Ubuntu回收已删除文件占用的空间

一、先快速定位占用与“已删未释”的情况

  • 查看整体磁盘使用:
    • 图形:sudo baobab
    • 终端:df -h
  • 若已删除文件但空间未回,常见原因是被某个进程仍占用(文件句柄未释放)。查找被删除但仍被占用的文件与进程:
    • 命令:lsof | grep deleted
    • 处理:确认无关后,结束对应进程以释放空间:sudo kill -9 (谨慎,避免杀掉关键系统进程)。

二、释放“回收站/垃圾桶”占用的空间

  • 图形界面:直接清空桌面环境的“回收站/垃圾桶”。
  • 终端清空当前用户的垃圾箱(两种等效方式):
    • 直接删除垃圾桶文件:rm -rf ~/.local/share/Trash/files/*(必要时连同 ~/.local/share/Trash/info/ 一并清理)
    • 使用命令行工具 trash-cli(推荐,更安全可恢复):
      • 安装:sudo apt install trash-cli
      • 清空:trash-empty
      • 其他常用:trash-listtrash-rm <文件>restore-trash

三、系统级清理释放更多空间(可选)

  • APT 缓存与无用包:
    • 清理旧包:sudo apt-get autoclean
    • 清空缓存:sudo apt-get clean
    • 移除不再需要的依赖:sudo apt-get autoremove
  • 旧日志(journald):
    • 查看占用:journalctl --disk-usage
    • 仅保留最近3天:sudo journalctl --vacuum-time=3d
  • Snap 旧版本过多(Snap 默认会保留多个旧修订):
    • 查看大小:du -h /var/lib/snapd/snaps
    • 删除旧修订(先关闭所有 Snap 应用):
      • 脚本示例:
        • snap list --all | awk ‘/disabled/{print $1, $3}’ | while read snapname revision; do snap remove “$snapname” --revision=“$revision”; done
  • 缩略图缓存:
    • 清理:rm -rf ~/.cache/thumbnails/*
  • 旧内核(谨慎操作,确保保留当前在用内核):
    • 查看当前内核:uname -a
    • 列出内核包:dpkg --list 'linux-image*
    • 卸载不再需要的旧内核(示例):sudo apt-get purge linux-image-<版本号>
    • 更新引导:sudo update-grub

四、查找并处理“仍然很大”的目录或文件

  • 定位大文件/目录(示例):
    • 当前目录及子目录中大于1GB的文件:find . -type f -size +1G
    • 指定目录中大于100MB的文件:find /var/log -type f -size +100M
  • 确认无用后再删除;对正在被进程写入的日志等大文件,优先停止相关服务或用 logrotate 轮转后再清理,避免影响业务与系统稳定性。

0