温馨提示×

如何通过Ubuntu文件管理恢复误删除文件

小樊
41
2025-12-14 20:57:31
栏目: 智能运维

按回收站、命令行与底层恢复三层思路,在 Ubuntu 中把误删文件尽量找回。

从回收站恢复

  • 图形界面
    • 使用 Nautilus:在左侧点击 回收站,右键目标文件选择 恢复,文件会回到原始位置
    • 使用 Dolphin:侧栏点击 回收站,右键 恢复 即可。
  • 命令行
    • 安装回收站管理工具:sudo apt-get install trash-cli
    • 列出回收站:trash-list
    • 交互式还原:trash-restore(可按文件名选择恢复)
    • 批量还原:trash-restore -r
    • 手动方式:回收站文件通常位于 ~/.local/share/Trash/files,可用 cp/mv 将所需文件复制回原目录或安全位置。
  • 说明
    • 回收站恢复是将文件还原到删除前的原始路径;若原路径已存在同名文件,可能被覆盖或提示处理。
    • 对于 U 盘/移动硬盘,部分桌面环境不会把删除动作送入用户主目录的回收站,因此可能看不到回收站内容。

回收站为空或已清空的进阶恢复

  • 立刻保护现场
    • 停止在涉及的分区写入新数据(下载、解压、缓存、安装等),并尽量将恢复操作指向另一块磁盘/分区,以降低被覆盖风险。
  • 使用 extundelete(仅限 ext3/ext4
    • 安装:sudo apt-get install extundelete
    • 确认分区:df -Th | grep ext4(假设为 /dev/sda1
    • 按文件名恢复:sudo extundelete /dev/sda1 --restore-file /home/user/important.doc
    • 全分区扫描恢复:sudo extundelete /dev/sda1 --restore-all
    • 按 inode 恢复:sudo extundelete /dev/sda1 --restore-inode 24681
    • 恢复结果位于当前目录的 RECOVERED_FILES/
  • 使用 ext4 调试工具 debugfs(了解 inode 时)
    • 进入调试:sudo debugfs /dev/sda1
    • 查看已删项:debugfs: lsdel
    • 查看 inode 信息:debugfs: stat
    • 导出数据块:debugfs: dump /mnt/recovery/file.bin
  • 使用 TestDisk / PhotoRec(跨文件系统、深度扫描)
    • 安装:sudo apt-get install testdisk
    • 文件恢复(PhotoRec):sudo photorec,选择设备与分区类型,勾选需要的文件类型,设置恢复保存路径(务必选到不同于原分区的磁盘),开始扫描并恢复。
  • 无法进入系统的情况
    • 可用 Ubuntu Live USB 启动后在原分区为只读挂载的状态下进行恢复操作。

成功率与注意事项

  • 恢复并非 100% 成功;文件被新写入覆盖后难度显著上升,操作越早成功率越高。
  • 对疑似丢失数据的分区,优先以只读方式处理;恢复文件请保存到其他磁盘/分区,避免二次覆盖。
  • 若数据极其重要或自行恢复无果,建议尽快联系专业数据恢复服务

预防与快速命令清单

  • 预防
    • 建立定期备份(如 rsync、Timeshift、云备份),重要操作前先做一次快照/备份。
  • 快速命令清单
    • 回收站查看与还原:trash-listtrash-restore
    • 分区定位:df -Th | grep ext4
    • extundelete 按文件恢复:sudo extundelete /dev/sda1 --restore-file 路径
    • PhotoRec 深度恢复:sudo photorec(选择设备/分区/文件类型/保存路径)。

0