温馨提示×

误删如何用centos recycle恢复

小樊
68
2026-09-12 01:06:14
栏目: 智能运维

在 CentOS 中,其实默认是没有 Windows 那样的“回收站(Recycle Bin)”机制的,也就是说:

直接用 rm 删除的文件,不会进回收站,通常无法直接恢复。

不过,是否还能恢复,取决于删除方式和后续操作。下面按常见情况说明:


一、如果你用的是“伪回收站”工具(如 trash-cli)

有些人会配置 rm 指向 trash,或者用 trash-put 删文件。

1. 检查是否有 trash 目录

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

2. 恢复文件

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

如果是 trash-cli:

trash-restore

二、如果你是普通 rm 删除(最常见)

❌ 不能直接恢复

rm file.txt

✅ 还有可能恢复的前提

  • 文件系统是 ext3 / ext4 / xfs
  • 删除后没有写入新数据
  • 磁盘分区未卸载

三、使用数据恢复工具(需谨慎)

1. ext 文件系统(ext3 / ext4)

yum install extundelete

卸载分区(重要):

umount /dev/sda1

恢复单个文件:

extundelete /dev/sda1 --restore-file /home/user/file.txt

恢复全部:

extundelete /dev/sda1 --restore-all

恢复文件在:

RECOVERED_FILES/

2. xfs 文件系统

yum install xfsdump xfsprogs

尝试:

xfs_repair /dev/sda1

⚠️ xfs 删除后恢复成功率很低


3. 通用工具(不区分文件系统)

yum install testdisk
testdisk /dev/sda

可用它:

  • 恢复分区
  • 恢复被删文件(ext/fat/ntfs)

四、防止以后再误删(强烈建议)

✅ 方法 1:用 trash 代替 rm

yum install trash-cli
alias rm='trash-put'

✅ 方法 2:rm 加确认

alias rm='rm -i'

✅ 方法 3:定期备份

rsync /data /backup
# 或
crontab 定时 tar

五、总结一句话

CentOS 默认没有 recycle,rm 删除基本不可逆;
若刚删、未写入,可用 extundelete / testdisk 尝试恢复。

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

  • 文件系统类型(df -T)
  • 是否还在使用该磁盘
  • 删除多久了

我可以给你更精确的恢复方案。

0 踩