温馨提示×

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 删除后可能很快被物理擦除,恢复概率显著降低。

三、按场景恢复

  • 文件仍被进程占用(如日志被删除但进程未退出)
    1. 查占用进程:sudo lsof | grep deleted
    2. 从进程文件描述符复制:sudo cp /proc//fd/<FD_NUM> /path/to/save
      示例:sudo cp /proc/1234/fd/15 /home/recovered.log
  • 使用 extundelete(仅限 ext3/ext4,且数据未被覆盖)
    1. 安装:sudo apt-get install extundelete
    2. 恢复单文件: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(多文件系统、通用恢复)
    1. 安装:sudo apt-get install testdisk(含 PhotoRec)
    2. TestDisk 图形界面:运行 sudo testdisk → 选择磁盘 → Proceed → Advanced → Undelete,按提示恢复。
    3. 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)误删:需在服务器端执行恢复操作。

0