Debian Minimal如何恢复误删除文件
小樊
31
2025-12-26 17:53:02
Debian Minimal 误删文件的恢复步骤
一、先判断是否有“回收站”可用
- 若删除发生在桌面会话(如通过文件管理器),检查用户目录的回收站:~/.local/share/Trash/files/ 与 ~/.local/share/Trash/info/。存在则可直接复制回原路径:
cp ~/.local/share/Trash/files/<文件名> <目标路径>
- 若你曾安装并使用过命令行回收站工具 trash-cli,可用:
trash-list 查看;trash-restore 交互式恢复;trash-empty 清空(谨慎)。
- 若删除命令是 rm,通常不走回收站,请直接按下方“数据恢复”流程处理。
二、立刻采取的措施
- 立刻停止对目标分区的写入:卸载分区(如:sudo umount /dev/sdX),或暂停相关服务/应用。无法卸载时,至少避免在该分区创建或下载新文件。
- 优先将恢复结果输出到另一块磁盘/分区,避免覆盖源数据。
- 注意 SSD + TRIM 场景:启用 TRIM 的 SSD 删除后可能很快被物理擦除,恢复概率显著降低。
三、按场景恢复
- 文件仍被进程占用(如日志被删除但进程未退出)
- 查占用进程:sudo lsof | grep deleted
- 从进程文件描述符复制:sudo cp /proc//fd/<FD_NUM> /path/to/save
示例:sudo cp /proc/1234/fd/15 /home/recovered.log
- 使用 extundelete(仅限 ext3/ext4,且数据未被覆盖)
- 安装:sudo apt-get install extundelete
- 恢复单文件:sudo extundelete /dev/sdX --restore-file /path/to/file
恢复目录:sudo extundelete /dev/sdX --restore-directory /path/to/dir
恢复全部:sudo extundelete /dev/sdX --restore-all(结果在 RECOVERED_FILES/)
- 使用 TestDisk / PhotoRec(多文件系统、通用恢复)
- 安装:sudo apt-get install testdisk(含 PhotoRec)
- TestDisk 图形界面:运行 sudo testdisk → 选择磁盘 → Proceed → Advanced → Undelete,按提示恢复。
- PhotoRec 命令行:运行 sudo photorec /dev/sdX,选择分区类型与文件类型,恢复目录务必选其他磁盘。
- 有备份则优先从备份恢复(最稳妥)
例如 rsync:rsync -av /backup/path/ /original/path/;或按所用备份方案(快照/镜像)执行对应恢复流程。
四、预防与后续
- 用回收站替代 rm:安装 trash-cli,并将 alias rm=‘trash-put’ 加入 ~/.bashrc;或仅做确认:alias rm=‘rm -i’。
- 启用快照:如 Btrfs/ZFS 定期快照,可在误删后快速回滚。
- 远程存储(NFS/Samba)误删:需在服务器端执行恢复操作。