Linux 回收站文件还原指南
一 前置说明
- Linux 没有统一的系统级回收站,回收站通常由桌面环境提供。常见位置为:~/.local/share/Trash/,其中包含两个子目录:files(存放被删除的文件)和 info(记录原路径与删除时间)。若使用命令行删除(如 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-restore -r
- 清空回收站:trash-empty
- 适用场景:服务器或没有图形界面时,仍能可靠地按条目还原到原路径。
三 方法二 使用 gvfs-trash(GNOME 等环境)
- 列出回收站:gvfs-trash --list
- 还原指定文件:gvfs-trash --restore /path/to/file
- 批量还原:gvfs-trash --restore-all
- 说明:该工具与 GNOME 虚拟文件系统(GVFS)集成,适合在桌面会话中按原路径恢复。
四 方法三 图形界面文件管理器
- GNOME Nautilus:侧栏打开回收站,右键目标文件选择恢复。
- KDE Dolphin:侧栏打开回收站,右键目标文件选择恢复。
- 其他桌面(如 XFCE、LXDE)通常也提供类似回收站管理入口,可在文件管理器文档中查找对应操作。
五 方法四 回收站已被清空或文件被 rm 删除时的补救
- 立即停止对涉及磁盘的写入(下载、解压、缓存、日志等),以降低被覆盖风险。
- 有备份时优先从备份恢复(如 rsync、BorgBackup、Timeshift 等)。
- 尝试从回收站目录手动找回(适用于未清空但信息可能残留的情况):
- 进入回收站文件目录:cd ~/.local/share/Trash/files
- 查找并复制回原位置(示例):find . -name “文件名” -exec cp {} /原路径/ ;
- 使用专业恢复工具(针对已清空或 rm 删除):
- extundelete(仅限 ext3/ext4):如 extundelete /dev/sdXY --restore-file /path/to/file
- TestDisk / PhotoRec:面向多文件系统和多种文件类型的通用恢复
- lsof | grep deleted:若文件仍被进程占用,可尝试从进程句柄恢复
- 重要数据建议尽快寻求专业数据恢复服务;恢复成功率取决于是否发生数据覆盖与磁盘后续写入量。