centos recycle如何恢复误删文件
小樊
40
2025-12-13 16:56:03
CentOS 回收站误删文件的恢复指南
一 图形界面回收站恢复
- 使用 Nautilus(GNOME 文件管理器)打开左侧或菜单中的已删除文件/回收站,选中目标文件或目录,右键选择还原,文件将回到原始路径。适用于通过图形界面删除且未被清空的场景。若使用其他桌面环境(如 KDE/Dolphin),操作位置与按钮名称类似。为提升成功率,恢复前尽量避免对原分区写入新数据。
二 命令行回收站工具 trash-cli
- 安装与准备
- 在 CentOS/RHEL 上安装:sudo yum install -y trash-cli(若仓库无此包,可启用 EPEL 后再安装)。
- 常用命令
- 查看回收站:trash-list
- 交互式还原:trash-restore(按提示选择条目恢复)
- 批量还原:trash-restore -r
- 清空回收站:trash-empty
- 说明
- 该工具遵循 XDG Trash 规范,回收站目录通常为:~/.local/share/Trash/(其中 files/ 存放文件,info/ 存放元数据)。若文件已被清空或使用了 rm 直接删除,则此方法不适用,请转用下文的数据恢复工具。
三 回收站已被清空或使用了 rm 的底层恢复
- 立即停止对目标分区的写入(下载、解压、缓存、日志等),并尽量将恢复操作指向另一块磁盘/分区,以降低覆盖风险。
- 按文件系统选择工具
- ext4:使用 extundelete
- 安装:sudo yum install -y extundelete(通常需先 yum install -y epel-release)
- 基本流程:
- 卸载分区:umount /dev/sdXN
- 扫描并恢复:
- 查看可恢复项:extundelete /dev/sdXN --inode 2
- 恢复单个文件:extundelete /dev/sdXN --restore-file 路径/到/文件
- 恢复全部:extundelete /dev/sdXN --restore-all
- 恢复结果位于当前目录的 RECOVERED_FILES/ 中。
- XFS:优先依赖事先的 xfsdump 备份进行 xfsrestore;对已删除且无备份的 XFS,常规工具恢复成功率较低,建议寻求专业数据恢复服务。
- 通用分区扫描工具
- TestDisk(可处理多种分区与文件系统):sudo yum install -y testdisk,运行 testdisk,按向导选择磁盘/分区、分析、列出已删除文件并复制到安全位置。
- 重要提示
- 恢复文件时避免写回原分区;若分区为系统盘,建议从 LiveCD/救援环境操作;对重要数据,先做镜像再尝试恢复。
四 预防与最佳实践
- 建立安全的“回收站”别名(避免直接用 rm 删除)
- 示例(加入 ~/.bashrc):
- alias rm=‘mv -i --target-directory=$HOME/.local/share/Trash/files/’
- alias rl=‘ls $HOME/.local/share/Trash/files/’
- alias ur='mv $HOME/.local/share/Trash/files/ $HOME/.local/share/Trash/info/*.trashinfo . 2>/dev/null || echo “Trash empty.”'*
- 使配置生效:source ~/.bashrc。此方式仅为便捷与容错,仍建议重要数据定期备份(如 rsync、快照、定时镜像)。