Ubuntu文件管理中如何恢复误删除的文件
导读:Ubuntu误删文件的恢复指南 一、先判断属于哪类删除 回收站未清空:优先从回收站直接还原,成功率最高。 回收站已清空或命令行 rm 删除:需立即停止对原磁盘写入,按文件系统选择工具恢复(如 ext3/ext4 → extundelete...
Ubuntu误删文件的恢复指南
一、先判断属于哪类删除
- 回收站未清空:优先从回收站直接还原,成功率最高。
- 回收站已清空或命令行 rm 删除:需立即停止对原磁盘写入,按文件系统选择工具恢复(如 ext3/ext4 → extundelete/debugfs;跨文件系统或分区损坏 → TestDisk/PhotoRec)。
- 系统无法启动或分区不可挂载:用 Live USB 启动后再执行恢复操作。
二、回收站未清空时的恢复
- 图形界面:打开文件管理器(如 Nautilus),进入左侧 Trash/回收站,右键目标文件选择 恢复,将回到原路径。
- 命令行工具 trash-cli(推荐):
- 安装:
sudo apt-get install trash-cli - 列出:
trash-list - 交互还原:
trash-restore(可按序号选择);批量还原:trash-restore -r - 清空回收站:
trash-empty
- 安装:
- 手动方式:回收站文件通常位于用户目录的 ~/.local/share/Trash/files,可用
find/cp将所需文件复制回原位置。
三、命令行 rm 删除或回收站已清空时的恢复
- 立即停止写入并确认分区:
- 查看分区与文件系统:
df -Th - 示例:误删文件所在分区为 /dev/sda1
- 查看分区与文件系统:
- ext3/ext4 文件系统(优先尝试 extundelete):
- 安装:
sudo apt-get install extundelete - 恢复全部:
sudo extundelete /dev/sda1 --restore-all(恢复结果在 RECOVERED_FILES/) - 恢复指定文件:
sudo extundelete /dev/sda1 --restore-file /path/to/file - 按 inode 恢复:
sudo extundelete /dev/sda1 --restore-inode < inode>
- 安装:
- 底层调试术 debugfs(ext2/ext3/ext4):
- 进入:
sudo debugfs /dev/sda1 - 列出已删项:
lsdel - 查看信息:
stat < inode> - 导出数据块:
dump < inode> /path/to/save/file
- 进入:
- 跨文件系统或分区损坏(TestDisk/PhotoRec):
- 安装:
sudo apt-get install testdisk - 分区与引导恢复:
sudo testdisk - 文件数据恢复:
sudo photorec(选择磁盘/分区、勾选文件类型、设置保存路径)
- 安装:
- 其他工具:如 foremost(
sudo apt-get install foremost,sudo foremost -i /dev/sdX -o /output/dir)。
四、无法进入系统时的处理
- 使用 Ubuntu Live USB 启动,挂载一个与丢失数据所在磁盘不同的目标盘用于保存恢复结果,然后按第三部分方法执行恢复(避免对原盘写入)。
五、成功率与预防建议
- 成功率受删除后的写入量、时间与磁盘使用情况影响,越早恢复越好;无法保证 100% 成功。
- 预防措施:
- 定期备份(如 rsync/tar、Bacula/Amanda、云备份)。
- 为 rm 设置安全别名或改用移动到“回收站”的脚本,降低误删风险。
- 重要操作前先卸载目标分区或切换到只读挂载。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu文件管理中如何恢复误删除的文件
本文地址: https://pptw.com/jishu/748660.html
