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/ 等子目录。