Linux 误删文件恢复教程
💡 Linux 恢复比 Windows 更依赖工具
Linux 没有"回收站"的统一定义(桌面环境可能有 Trash,但命令行 rm 直接删)。且 ext4 和 XFS 的删除机制各有特点,需要用专门的 Linux 恢复工具。
ext4 文件系统恢复
ext4 删除文件后会清零 inode 中的块指针,但数据块本身还在。 需要用文件签名扫描(carving)来找回。
推荐工具:extundelete
bash
# 安装
sudo apt install extundelete
# 恢复特定文件
sudo extundelete /dev/sda1 --restore-file /home/user/文档.txt
# 恢复整个目录
sudo extundelete /dev/sda1 --restore-directory /home/user/
# 恢复所有可恢复的文件
sudo extundelete /dev/sda1 --restore-all前提: 删除后分区没有被写入。所以一旦误删,立刻 umount 该分区。
XFS 文件系统恢复
XFS 删除文件后清理更彻底——inode 会被回收。恢复难度比 ext4 大。
推荐工具:PhotoRec(文件签名扫描)
bash
sudo apt install testdisk
sudo photorec /dev/sda1按文件类型恢复(只能恢复文件内容,文件名丢失)。
通用工具:TestDisk
TestDisk 主要用于恢复分区表,也可以恢复删除的文件:
bash
sudo testdisk /dev/sda