温馨提示×

Ubuntu Recycle怎样恢复已删除的系统文件

小樊
39
2025-12-08 00:46:25
栏目: 智能运维

Ubuntu 回收站恢复与系统文件找回指南

一 回收站可恢复的前提

  • 仅当文件是通过桌面环境的文件管理器删除(如 Nautilus、Dolphin),且未被“清空回收站”时,文件才会进入回收站,通常位于用户主目录的 ~/.local/share/Trash/。该目录包含 files(存放文件内容)与 info(记录原路径与删除时间)两个子目录。若已清空或使用了命令行删除(如 rm),则无法通过回收站恢复,需要走文件系统级恢复流程。

二 从回收站恢复的三种方式

  • 图形界面恢复
    • 打开文件管理器(如 Nautilus/Dolphin),在左侧点击 回收站/Trash,右键目标文件或文件夹,选择 恢复,文件将回到其原始路径。适用于误删的用户文件与部分系统配置目录(前提是仍在回收站中)。
  • 命令行工具 trash-cli(推荐)
    • 安装:sudo apt-get install trash-cli
    • 列出回收站:trash-list
    • 交互式恢复:trash-restore(按提示选择条目)
    • 批量恢复:trash-restore -r
    • 清空回收站:trash-empty(谨慎)
  • 直接操作回收站目录
    • 查看:ls ~/.local/share/Trash/files
    • 恢复:将目标从 files 目录复制回其原始位置(info 中的记录可帮助确认原路径)。例如:cp ~/.local/share/Trash/files/example.txt /usr/share/example.txt(需 sudo 写入系统目录)。

三 回收站没有或已清空时的系统文件恢复

  • 立即停止写入
    • 卸载或停止使用包含被删系统文件的磁盘/分区,避免新写入覆盖已删除的 inode 数据,提升恢复成功率。
  • 使用 extundelete(仅限 ext2/ext3/ext4)
    • 安装:sudo apt-get install extundelete
    • 恢复示例:sudo extundelete /dev/sdXY --restore-file /usr/bin/yourcmd
    • 恢复全部:sudo extundelete /dev/sdXY --restore-all
    • 说明:/dev/sdXY 为包含被删文件的分区(如 /dev/sda1),路径为删除前的绝对路径
  • 使用 TestDisk / PhotoRec(跨文件系统、通用)
    • 安装:sudo apt-get install testdisk
    • 运行:sudo testdisk(分区/引导恢复)或 sudo photorec(按文件类型恢复)
    • 选择磁盘与分区,指定输出目录到另一块磁盘,避免覆盖源数据。
  • 其他工具
    • foremost:sudo foremost -i /dev/sdX -o /path/to/output(指定输入设备与输出目录)。

四 成功率与注意事项

  • 恢复成功率受删除后的写入操作时间影响,越早恢复越好;回收站清空或覆盖后,只能依赖文件系统级工具,且不保证 100% 成功。
  • 恢复系统文件通常需要 root 权限,操作前建议备份当前状态;将恢复结果输出到不同物理磁盘,避免二次覆盖。
  • 若数据极其重要或涉及关键业务,建议尽快联系专业数据恢复服务

0