在 Linux 下恢复文件,取决于文件是怎么丢失的以及你是否还有备份。下面按常见场景给你一个完整思路(从简单到专业)。
cd ~/.local/share/Trash/files
ls
mv 文件名 原路径
⚠️ 最重要:立刻停止写入磁盘!
extundelete(最常用)sudo apt install extundelete
sudo umount /dev/sdXn
或至少:
sudo mount -o remount,ro /dev/sdXn
恢复某个目录:
sudo extundelete /dev/sdXn --restore-directory /home/user/xxx
恢复全部:
sudo extundelete /dev/sdXn --restore-all
恢复的文件会在当前目录的 RECOVERED_FILES 中。
rm -rf、磁盘已使用一段时间testdisk / photorecsudo apt install testdisk
sudo testdisk
功能:
适合:
sudo photorec
特点:
sudo apt install xfsprogs
sudo xfs_undelete /dev/sdXn
或备份恢复(如果没有备份,恢复难度较大)
如果有快照:
sudo btrfs subvolume list /
进入快照目录恢复文件。
vim -r 文件名
ls -a | grep 文件名
rsync -av 备份目录/ 目标目录/
tar -xvf backup.tar.gz -C 目标目录
| 情况 | 建议 |
|---|---|
| rm 刚删 | extundelete |
| 分区坏了 | testdisk |
| 多媒体文件 | photorec |
| 有快照 | Btrfs / LVM |
| 有备份 | 直接恢复 |
如果你愿意,可以告诉我:
1️⃣ 文件系统(Ext4 / XFS / Btrfs)
2️⃣ 删除方式(rm / 格式化 / 误删分区)
3️⃣ 是否还在运行系统
我可以给你 一步一步定制的恢复方案。