温馨提示×

linux recycle如何恢复数据

小樊
33
2026-10-08 11:43:39
栏目: 智能运维

在 Linux 里没有像 Windows 那样的“回收站”统一机制,是否还能恢复数据,主要取决于你是怎么删除的、有没有备份、文件系统类型。下面按场景说明。


一、先确认几个关键点(非常重要)

  1. 立即停止对该磁盘/分区的写入
    • 不要再存文件、不要安装软件
    • 最好直接卸载:
      umount /dev/sdXn
      
  2. 确认删除方式
    • 桌面环境删除(有回收站)
    • rm 命令
    • rm -rf
    • 格式化
  3. 文件系统
    • ext2 / ext3 / ext4
    • xfs
    • btrfs

二、桌面环境删除(有“回收站”)

如果你用的是:

  • GNOME / KDE / XFCE 等桌面

文件通常在:

~/.local/share/Trash/files/

✅ 恢复方法:

cd ~/.local/share/Trash/files/
mv 文件名 ~/

或直接在文件管理器里“还原”。


三、rm 删除(命令行删除)

1️⃣ ext 文件系统(ext3 / ext4)

可用工具:

  • extundelete
  • testdisk

使用 extundelete

sudo apt install extundelete
sudo extundelete /dev/sda1 --restore-all

恢复文件在:

RECOVERED_FILES/

⚠️ 成功率取决于:

  • 删除后是否写入新数据
  • 文件系统是否 journal 覆盖

2️⃣ xfs 文件系统

xfs 几乎不支持 undelete

可尝试:

sudo apt install testdisk
sudo testdisk /dev/sda1

但成功率很低。


3️⃣ btrfs

如果开启了快照:

btrfs subvolume list /
btrfs send /snapshot > restore

否则基本不可恢复。


四、通用恢复工具(推荐)

✅ TestDisk(最强)

sudo apt install testdisk
sudo testdisk

功能:

  • 恢复分区
  • 恢复删除文件
  • 修复引导

✅ PhotoRec(按文件签名恢复)

适合:

  • 图片
  • 视频
  • 文档
sudo photorec /dev/sda1

五、有备份(最稳妥)

如果有:

  • rsync
  • timeshift
  • btrfs snapshot
  • 云备份

直接恢复即可。


六、千万避免的误操作

❌ 在误删盘上继续写数据
❌ 用 dd 覆盖
❌ 重新格式化后写入


七、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. 删除方式(rm?桌面删除?)
  2. 文件系统(df -T)
  3. 是否还有写入
  4. 文件类型(文档 / 照片 / 数据库)

我可以给你一步步具体命令。

0 踩