温馨提示×

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、快照、定时镜像)。

0