Linux误删文件可恢复的前提是数据未被覆盖;应立即停写、用extundelete(ext3/4)或photorec(通用)恢复,并通过安全别名、回收站和快照预防。

Linux下误删文件后能否恢复,关键看文件是否被新数据覆盖。只要没写入新内容,多数情况能找回,但操作必须快、步骤要准。
立即停止写入操作
删除文件只是移除了目录项和inode链接,数据块本身还留在磁盘上。一旦有新文件写入,就可能覆盖原位置,导致不可逆丢失。
- 立刻退出当前用户,避免shell历史记录或临时文件写入
- 不要运行apt/yum更新、日志轮转、数据库自动备份等后台任务
- 如是系统盘,建议从Live USB启动(如Ubuntu安装盘),以只读方式挂载原分区
用extundelete恢复ext3/ext4文件
适用于使用ext3或ext4文件系统的场景,需在未卸载前尽快执行(或从Live环境挂载为只读后运行)。
- 安装命令:red">sudo apt install extundelete(Debian/Ubuntu)或sudo yum install extundelete(CentOS 7及更早)
- 查看可恢复文件:sudo extundelete /dev/sda1 --inode 2(先查根目录inode,再列出)
- 恢复单个文件:sudo extundelete /dev/sda1 --restore-file home/user/report.txt
- 恢复整个目录:sudo extundelete /dev/sda1 --restore-directory home/user/docs
- 恢复结果默认存入RECOVERED_FILES/目录,请确保目标分区有足够空闲空间
用photorec快速扫描恢复(不依赖文件系统)
当extundelete无效(如XFS/Btrfs格式、inode已清空、分区被重新格式化),photorec是更底层的救急方案。它按文件头特征识别数据,不重建路径,但成功率高。
- 安装:sudo apt install testdisk(photorec包含在testdisk包中)
- 运行:sudo photorec,按提示选择磁盘→分区→文件系统类型→保存路径(务必选其他磁盘!)
- 支持识别超400种文件类型(PDF、JPG、DOCX、SQL、源码等),恢复后文件名丢失,靠内容或扩展名识别
- 耗时较长,建议筛选目标类型(如只扫*.log或*.py)加快速度
预防胜于抢救:日常该怎么做
恢复永远是下策。建立简单机制,能极大降低风险。
- 给rm加安全别名:alias rm='rm -i',删除前强制确认;进阶可用safe-rm工具拦截危险路径
- 重要目录启用回收站逻辑:用trash-cli替代rm,删除走~/.local/share/Trash/,支持还原
- 对关键数据配置定时快照(如LVM快照、btrfs snapshot、rsync+硬链接备份)
- 敏感操作前先ls -i记下inode号,万一出错可快速定位原始数据块
以上就是Linux数据恢复怎么做_误删文件恢复技巧说明【教学】的详细内容,更多请关注php中文网其它相关文章!