Ubuntu Recycle能恢复误删文件吗
小樊
43
2026-01-02 13:29:32
Ubuntu 回收站能否恢复误删文件
可以恢复的前提
- 使用的是带图形界面的 Ubuntu(如 GNOME、KDE),删除操作默认只会把文件移到回收站/Trash,并未真正从磁盘删除。此时通过回收站即可恢复。若文件已被“清空回收站”或用命令行执行了 rm,则进入“已删除但未覆盖”的恢复场景,需要借助工具或备份。为提升成功率,删除后应立刻停止对原分区写入(下载、安装、拷贝等)。
从回收站恢复的常用方法
- 图形界面恢复
- 打开文件管理器(如 Nautilus、Dolphin),进入左侧或侧栏的回收站/Trash,右键目标文件选择恢复,即可回到原位置。
- 命令行恢复(回收站 CLI)
- 安装:sudo apt-get install trash-cli
- 列出回收站:trash-list
- 交互式还原:trash-restore(可按序号选择);批量还原:trash-restore -r
- 清空回收站:trash-empty
- 手动目录恢复
- 回收站文件通常位于:~/.local/share/Trash/files(实际删除的文件内容),相关信息在 ~/.local/share/Trash/info(含原路径、删除时间等)。
- 示例:先定位文件,再复制回原目录
- cd ~/.local/share/Trash/files
- cp 文件名 /原/路径/目标/位置/
回收站没有时的恢复思路
- 立即停止对包含丢失文件的分区写入,避免覆盖已删除的数据块。
- 使用文件系统级恢复工具(适用于 ext3/ext4 等)
- extundelete(ext3/ext4):先卸载分区(如 sudo umount /dev/sdXY),再按文件或目录恢复
- 安装:sudo apt-get install extundelete
- 恢复单文件:sudo extundelete /dev/sdXY --restore-file /path/to/file
- 恢复目录:sudo extundelete /dev/sdXY --restore-directory /path/to/dir
- 恢复结果默认在当前目录的 RECOVERED_FILES 中
- 使用 PhotoRec(跨文件系统、按文件类型恢复)
- 安装:sudo apt-get install testdisk
- 运行:sudo photorec,选择磁盘/分区与文件类型,指定输出目录进行恢复(注意输出目录不要在原分区)
- 其他工具与场景
- TestDisk 更适合分区/引导结构恢复;foremost 可按签名恢复多种格式。
- 若文件已被覆盖或分区被格式化,成功率会显著下降,此时优先考虑专业数据恢复服务。
预防与注意事项
- 建立定期备份(如 rsync、tar、Bacula/Amanda 或云备份),这是最稳妥的兜底方案。
- 谨慎使用 rm -rf;可用 trash-cli 替代 rm,提供“可回退”的删除体验(如 alias rm=trash 的自定义方案)。
- 在 双系统/NTFS 分区上,Windows 的回收站通常位于各盘根目录的 $RECYCLE.BIN,Ubuntu 的回收站位于用户目录的 ~/.local/share/Trash;两者互不干扰,清理时请区分来源。