温馨提示×

CentOS误删文件怎么办

小樊
48
2026-07-09 00:54:32
栏目: 智能运维

CentOS 上误删文件,能否恢复主要取决于 文件删除的方式、文件系统类型、是否有备份以及是否继续写入数据。下面按常见场景给你一套实用排查与恢复方案


一、先判断情况(非常重要)

请先确认以下几点:

  1. 删除方式

    • rm / rm -rf ❌(最难恢复)
    • 桌面/文件管理器删除(可能进回收站)
    • 程序异常 / 磁盘故障
  2. 文件系统

    df -T
    
    • ext4:有恢复可能
    • xfs:恢复难度大(但仍可尝试)
    • tmpfs / 内存盘:基本无法恢复
  3. 是否已写入新数据

    • ⚠️ 立即停止写入(不要再存文件、安装软件、做 yum 操作)

二、优先检查这些地方(最简单)

1️⃣ 回收站(GUI 删除)

如果是桌面环境:

ls ~/.local/share/Trash/files/

2️⃣ 是否还有进程占用(rm 后未关闭)

lsof | grep deleted

如果看到文件:

cp /proc/<PID>/fd/<FD> /恢复路径

这是成功率最高的情况


三、使用恢复工具(ext4 推荐)

✅ ext4 文件系统:extundelete(推荐)

安装

yum install e2fsprogs-devel gcc -y
wget http://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

恢复整个目录

umount /dev/sdXn
extundelete /dev/sdXn --restore-directory /path/to/dir

恢复所有删除文件

extundelete /dev/sdXn --restore-all

恢复文件在:

RECOVERED_FILES/

⚠️ 必须卸载分区,否则可能覆盖数据


✅ ext4 / xfs:TestDisk(通用)

yum install testdisk -y
testdisk
  • 选择磁盘
  • 分析分区
  • 扫描删除文件
  • 复制出来

✅ 支持 ext4 / xfs / fat32
❌ 操作偏复杂


四、XFS 文件系统(CentOS 7/8 常见)

1️⃣ xfs_undelete(成功率有限)

yum install xfsprogs -y

⚠️ XFS 元数据不保留删除信息,恢复成功率较低
✅ 更适合数据未覆盖的情况


五、没有工具、也没有备份怎么办?

尝试专业手段

  • dd 做磁盘镜像
  • 使用专业数据恢复公司(磁盘物理损坏时)

六、如果没有任何恢复可能(现实情况)

  • ext4:删除后立即停止写入,有恢复希望
  • XFS:删除后恢复难度大
  • rm 后 且继续写数据 → 基本不可逆

七、以后如何避免(强烈建议)

✅ 1. 使用 trash

yum install trash-cli -y
trash-put file

✅ 2. rm 别名(防手滑)

alias rm='rm -i'

✅ 3. 定期备份

  • rsync
  • tar
  • 云备份

八、我可以帮你精确分析

你可以直接告诉我:

  1. CentOS 版本
  2. 文件系统(ext4 / xfs)
  3. 删除方式(rm / 图形界面)
  4. 是否继续写入

我可以给你一步一步可执行的恢复方案

0