在 Linux 系统中,删除的文件(尤其是使用 rm 或 rm -rf 删除的文件)无法直接恢复,除非文件未被彻底删除(例如,文件仍在系统中存在,或者使用了某些特殊方式保留)。
以下是常见的恢复方法,适用于大多数 Linux 发行版:
✅ 方法一:使用 undelete 工具(推荐)
undelete 是一个常用的命令行工具,可以恢复已经被删除的文件(前提是文件未被回收站删除)。
安装 undelete(适用于 Debian/Ubuntu 系统)
sudo apt install undelete使用方法:
undelete /path/to/file- 会显示文件的恢复路径。
- 确认文件路径后,使用
recover命令恢复文件:
recover /path/to/file注意:
undelete仅适用于文件未被回收站删除的情况。- 如果文件已经被回收站删除(如
rm -rf),则无法恢复。
✅ 方法二:使用 fsck(文件系统检查工具)
如果文件系统损坏,fsck 可能会恢复某些文件,但通常不适用于普通文件的恢复。
sudo fsck /dev/sdX- 适用于文件系统错误修复,而不是文件恢复。
✅ 方法三:使用 find + cp 恢复(需文件未被回收)
如果文件未被回收,可以使用 find 和 cp 恢复:
find /path/to/dir -name "filename" -exec cp -p {} /path/to/restore/ ;cp -p保持文件属性不变,适合恢复文件。- 适用于文件未被回收的情况。
✅ 方法四:使用 rsync 恢复(需文件未被回收)
rsync -a /path/to/restore/ /path/to/restore/- 适用于文件未被回收,但需要手动查找文件路径。
✅ 方法五:使用 extundelete(适用于 EXT 文件系统)
extundelete 是一个专门用于 EXT 文件系统的恢复工具。
安装(适用于 EXT 文件系统):
sudo apt install extundelete使用方法:
extundelete /dev/sdX --restore-file /path/to/restore/file- 会恢复文件到指定目录。
✅ 方法六:使用 vfatundelete(适用于 VFAT 文件系统)
适用于 FAT32 文件系统。
sudo apt install vfatundeletevfatundelete /dev/sdX --restore-file /path/to/restore/file

