温馨提示×

Linux怎么恢复文件

小樊
45
2026-07-01 14:34:01
栏目: 智能运维

在 Linux 下恢复文件,取决于文件是怎么丢失的以及你是否还有备份。下面按常见场景给你一个完整思路(从简单到专业)。


一、如果不小心删除但文件还在垃圾桶

1️⃣ 图形界面(GNOME / KDE)

  • 打开 回收站(Trash)
  • 右键 → 恢复

2️⃣ 命令行方式(Trash 目录)

cd ~/.local/share/Trash/files
ls
mv 文件名 原路径

二、如果rm 删除了,没有备份(Ext4 文件系统)

⚠️ 最重要:立刻停止写入磁盘!

常用工具:extundelete(最常用)

1️⃣ 安装

sudo apt install extundelete

2️⃣ 卸载分区(或只读挂载)

sudo umount /dev/sdXn

或至少:

sudo mount -o remount,ro /dev/sdXn

3️⃣ 恢复文件

恢复某个目录:

sudo extundelete /dev/sdXn --restore-directory /home/user/xxx

恢复全部:

sudo extundelete /dev/sdXn --restore-all

恢复的文件会在当前目录的 RECOVERED_FILES 中。


三、如果是 rm -rf、磁盘已使用一段时间

1️⃣ 专业工具:testdisk / photorec

安装

sudo apt install testdisk

使用 TestDisk(推荐)

sudo testdisk

功能:

  • 恢复误删分区
  • 恢复被删文件(Ext4 / NTFS / FAT)

适合:

  • 分区表损坏
  • 误删整个目录

PhotoRec(按文件内容恢复)

sudo photorec

特点:

  • 不依赖文件名
  • 适合恢复图片、视频、文档
  • 恢复的文件名会丢失

四、如果是 XFS / Btrfs(不是 Ext4)

1️⃣ XFS

sudo apt install xfsprogs
sudo xfs_undelete /dev/sdXn

或备份恢复(如果没有备份,恢复难度较大)

2️⃣ Btrfs

如果有快照:

sudo btrfs subvolume list /

进入快照目录恢复文件。


五、如果是编辑文件失败 / vim 误操作

Vim 交换文件恢复

vim -r 文件名

找回编辑前的文件

ls -a | grep 文件名

六、如果有备份(最安全)

1️⃣ rsync 备份

rsync -av 备份目录/ 目标目录/

2️⃣ tar 备份

tar -xvf backup.tar.gz -C 目标目录

✅ 快速判断表

情况 建议
rm 刚删 extundelete
分区坏了 testdisk
多媒体文件 photorec
有快照 Btrfs / LVM
有备份 直接恢复

❗ 重要提醒

  • 不要往丢失文件的磁盘写东西
  • 恢复时保存到 其它磁盘
  • 越早恢复,成功率越高

如果你愿意,可以告诉我: 1️⃣ 文件系统(Ext4 / XFS / Btrfs)
2️⃣ 删除方式(rm / 格式化 / 误删分区)
3️⃣ 是否还在运行系统

我可以给你 一步一步定制的恢复方案

0