温馨提示×

Linux回收站恢复文件

小樊
46
2026-01-01 22:19:13
栏目: 智能运维

Linux回收站恢复文件

快速判断与准备

  • 先确认是否真的进了回收站:有图形界面的 GNOME/KDE/XFCE 会将删除的文件移到用户目录的回收站;纯命令行用 rm 删除的文件通常不会进入回收站。
  • 立刻停止对涉及分区的一切写入操作(下载、解压、缓存、编辑等),并尽量在原磁盘上操作,避免把要恢复的数据覆盖。
  • 回收站本质是把文件从原路径移走并写入元数据,数据块并未立即清零;越早恢复成功率越高。

图形界面恢复步骤

  • 打开文件管理器中的回收站(桌面或侧栏图标)。
  • 选中需要恢复的文件或文件夹,右键选择恢复,或点击窗口中的恢复按钮。
  • 选择恢复位置:恢复到原始路径指定目录(若原路径已不存在,建议选其他目录)。

命令行恢复步骤

  • 安装并使用 trash-cli(跨桌面、统一回收站管理):
    • 安装:
      • Debian/Ubuntu:sudo apt-get install trash-cli
      • CentOS/RHEL:sudo yum install trash-cli
      • Fedora:sudo dnf install trash-cli
    • 常用命令:
      • 查看:trash-list
      • 交互式恢复:trash-restore(会列出可恢复项,按提示选择)
      • 删除回收站中某文件:trash-rm <文件名>
      • 清空回收站:trash-empty(谨慎)
  • 若已清空回收站或文件根本未进入回收站,见下一节“回收站已被清空或 rm 删除后的恢复”。

回收站已被清空或 rm 删除后的恢复

  • 立即停止对目标分区的写入,优先在另一块磁盘/分区上安装工具并保存恢复结果。
  • 针对 ext3/ext4:使用 extundelete
    • 安装:sudo apt-get install extundelete(或发行版对应方式)
    • 尽量卸载分区:sudo umount /dev/sdXY
    • 恢复示例:
      • 单文件:sudo extundelete /dev/sdXY --restore-file /path/to/file
      • 目录:sudo extundelete /dev/sdXY --restore-directory /path/to/dir
      • 恢复结果默认在当前目录的 RECOVERED_FILES
  • 通用恢复:使用 TestDisk/PhotoRec
    • 安装:sudo apt-get install testdisk
    • 启动:sudo testdisk,按向导选择磁盘/分区,执行分析并保存恢复文件(PhotoRec 侧重按文件类型恢复)
  • 成功率取决于是否已被覆盖、文件系统类型与删除后的写入量;重要数据建议尽快专业服务介入。

预防与补充

  • 建议为 rm 设置别名使用回收站:alias rm='trash-put'(放入 ~/.bashrc~/.zshrc 后执行 source),降低误删风险。
  • 定期备份关键数据(如 rsync、定时快照),这是最稳妥的恢复手段。
  • 了解回收站目录结构有助于手动检查:用户回收站通常为 ~/.local/share/Trash/,包含 files/info/ 等子目录。

0