温馨提示×

CentOS怎么找回回收文件

小樊
38
2026-08-04 07:01:52
栏目: 智能运维

CentOS 里,没有像 Windows 那样的“回收站”机制,所以删除文件后无法通过回收站找回。是否能找回,取决于删除方式后续操作。下面按常见情况说明。


一、先确认删除方式(很重要)

1️⃣ 是 rm 删除的吗?

rm file.txt
rm -rf /path

这是真正的删除
无法通过系统回收站恢复


2️⃣ 是图形界面(GNOME)删除的吗?

如果你用的是 CentOS 桌面版(GNOME)

  • 文件管理器里删除
  • 通常会进入 ~/.local/share/Trash

可以找回


二、图形界面删除(有回收站)

找回方法

cd ~/.local/share/Trash
ls

常见目录结构:

~/.local/share/Trash/
├── files/      # 被删除的文件
├── info/       # 删除信息

直接复制回来:

cp ~/.local/share/Trash/files/文件名 /目标路径

三、rm 删除(命令行)——还能救吗?

✅ 前提条件(非常重要)

  • 磁盘分区没有被大量写入
  • 文件系统是 ext3 / ext4
  • 删除后立刻停止写操作

如果满足,可以尝试恢复。


四、使用 extundelete 恢复(推荐)

1️⃣ 安装

yum install e2fsprogs-devel gcc -y

下载并编译 extundelete:

wget https://extundelete.sourceforge.net/extundelete-0.2.4.tar.bz2
tar xjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure
make
make install

2️⃣ 卸载分区(关键)

⚠️ 不要在当前分区直接恢复

df -h        # 查看文件所在分区
umount /data

如果是根分区,建议:

  • Live CD / 救援模式

3️⃣ 恢复文件

extundelete /dev/sdb1 --restore-all

恢复后的文件在:

RECOVERED_FILES/

五、其他工具(备选)

testdisk

适合:

  • 误删分区
  • 误删大量文件
yum install testdisk -y
testdisk

六、如果已经写入大量数据?

基本无法恢复
文件系统已经覆盖原数据块


七、防止以后再丢文件(强烈建议)

✅ 1️⃣ 用“回收站命令”代替 rm

alias rm='trash'

安装 trash-cli:

yum install trash-cli -y

使用:

trash 文件
trash-list
restore-trash

✅ 2️⃣ 定期备份

  • rsync
  • cron + tar
  • 云备份

八、快速判断表

删除方式 能否找回
GNOME 删除 ✅ 可找回
rm 删除 ⚠️ 有条件
被覆盖写入 ❌ 不可找回
根分区误删 ❌ 风险极高

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 删除方式(rm / 图形界面)
  • ✅ 文件系统(ext4 / xfs)
  • ✅ 是否还在运行

我可以给你最安全、最具体的恢复方案

0