在 Linux 下误删文件(通常是 rm 删除)后,能否恢复取决于很多因素。下面按「紧急处理 → 恢复方法 → 预防」给你一个清晰指南。
立刻停止对该磁盘/分区的写入操作!
# 如果是可卸载的分区
umount /mount/point
或只读挂载:mount -o remount,ro /mount/point
删除只是“标记空间可用”,数据还在,但会被新数据覆盖。
extundelete# 安装
yum install extundelete
# 或
apt install extundelete
# 恢复整个分区
extundelete /dev/sda1 --restore-all
# 恢复指定文件
extundelete /dev/sda1 --restore-file /home/user/test.txt
恢复文件会在当前目录生成:
RECOVERED_FILES/
⚠️ 前提:
testdiskapt install testdisk
testdisk
# xfs 不直接支持 undelete
# 可尝试:
xfs_repair
❗ xfs 基本无法恢复 rm 删除文件,只能靠备份。
photorec(不挑文件系统)apt install testdisk
photorec
rsynctarcpiorsync -av backup/ /data/
❌ 已被新数据覆盖
❌ 使用 shred / dd 擦除
❌ xfs + rm
❌ SSD 已 TRIM
alias rm='rm -i'
apt install trash-cli
trash-put file
crontab -e
0 3 * * * rsync -a /data /backup
如果你愿意,我可以更精准帮你:
df -T)rm / rm -rf)我可以直接给你可执行的恢复命令。