Linux 回收站恢复误删目录的实用步骤
一 图形界面回收站恢复
- 在 GNOME(Nautilus) 或 KDE(Dolphin) 中,打开文件管理器,在侧边栏点击 回收站,找到目标目录,右键选择 恢复,即可回到原位置。
- 注意:通过终端执行 rm -rf 删除的内容不会进入回收站,图形界面恢复仅适用于在文件管理器中删除的项目。
二 命令行回收站工具 Trash-Cli
- 适用场景:你曾用命令行工具把目录移到回收站(如使用 trash-put 或 gvfs-trash),现在需要从命令行恢复。
- 安装与常用命令:
- 安装:sudo apt install trash-cli(Debian/Ubuntu);sudo dnf install trash-cli(Fedora);sudo yum install trash-cli(CentOS/RHEL);sudo pacman -S trash-cli(Arch);sudo zypper in trash-cli(openSUSE)。
- 查看回收站:运行 trash-list,可见被删目录的 原路径、删除时间 等信息。
- 交互式恢复:运行 trash-restore,按提示输入序号选择要恢复的目录(支持恢复目录)。
- 其他:删除回收站中的某条目用 trash-rm <条目名>;清空回收站用 trash-empty;删除超过 10 天的条目用 trash-empty 10。
- 回收站位置与规范:遵循 FreeDesktop.org 规范,回收站位于 $HOME/.local/share/Trash,包含 files(实际数据)与 info(原路径、删除时间等元数据)两个子目录。
三 终端 rm 删除后的恢复 extundelete(ext3/ext4)
- 适用前提:目录位于 ext3/ext4 分区,且删除后尽快操作,避免新写入覆盖数据。
- 操作步骤:
- 立即停止对目标分区的写入(下载、解压、编译等)。
- 确认分区:df -h,假设目标分区为 /dev/sda1。
- 安装工具:sudo apt install extundelete(或 yum/dnf 对应安装)。
- 恢复目录:sudo extundelete /dev/sda1 --restore-directory /path/to/dir(路径为删除前的绝对路径)。
- 恢复结果默认在当前工作目录的 RECOVERED_FILES 中。
- 若不确定具体路径,可先执行全盘扫描:sudo extundelete /dev/sda1 --restore-all(谨慎,可能产生大量文件)。
四 其他恢复工具与注意事项
- 被进程占用时的应急:若目录或其文件仍被进程打开,可用 lsof | grep deleted 查找句柄,再按输出定位并复制恢复(适用于文件,目录需逐文件处理)。
- 跨文件系统或 ext 系列外的恢复:使用 TestDisk/PhotoRec。TestDisk 支持分区与文件恢复(含 NTFS/FAT/ext 等),PhotoRec 可按文件签名恢复多种类型文件。操作前尽量只读挂载或离线处理,避免覆盖。
- 成功率与预防:删除时间越短、写入越少,成功率越高;重要数据请定期备份。为减少误删风险,建议使用 trash-cli 替代直接使用 rm(不修改 rm 行为的安全用法),删除前先确认路径与参数。