温馨提示×

CentOS回收站文件恢复有哪些技巧

小樊
46
2025-11-20 01:33:00
栏目: 智能运维

CentOS 回收站文件恢复技巧

一 先判断是否存在图形化回收站

  • 多数 CentOS 服务器默认没有统一的回收站;若使用 GNOME 等桌面并通过 Nautilus 删除文件,通常会在用户主目录的隐藏目录 ~/.local/share/Trash/files 暂存,可直接从该目录复制回原位置或使用文件管理器中的“已删除文件/废纸篓”进行还原。若从未使用图形界面删除,文件可能已被直接从文件系统移除,需要走文件系统级恢复流程。

二 图形界面与命令行快速恢复

  • 图形界面恢复(Nautilus):打开 Nautilus → 进入左侧或顶部“已删除文件/废纸篓” → 选中文件或文件夹 → 右键选择“还原”,系统会恢复到原路径。适用于通过图形界面删除且仍在回收站中的情况。
  • 命令行查看与还原回收站(trash-cli):若系统安装了 trash-cli,可用命令查看与还原:
    • 列出回收站内容:trash-list
    • 交互式还原:trash-restore
    • 批量还原:trash-restore -r
    • 清空回收站:trash-empty 该工具便于在纯终端环境下按条目恢复,避免手动拷贝出错。

三 ext4 文件系统级恢复 extundelete

  • 适用前提:文件系统为 ext3/ext4,且删除后尽快操作、尽量减少写入,避免覆盖已删除数据块。
  • 基本步骤:
    1. 安装工具(EPEL 源通常提供):sudo yum install extundelete
    2. 尽量卸载目标分区(离线恢复成功率更高):sudo umount /dev/sdXY
    3. 扫描并恢复:
      • 扫描:extundelete /dev/sdXY --inode 2
      • 恢复单个文件:extundelete /dev/sdXY --restore-file /path/to/file
      • 恢复目录:extundelete /dev/sdXY --restore-directory /path/to/dir
      • 恢复全部:extundelete /dev/sdXY --restore-all
    4. 恢复结果默认生成于当前工作目录的 RECOVERED_FILES/ 中;完成后可重新挂载分区:sudo mount /dev/sdXY
  • 重要提示:不要将恢复工具的输出目录设为目标分区,避免二次覆盖。

四 分区表或跨文件系统场景 TestDisk

  • 当存在分区丢失、跨文件系统或 extundelete 不适用时,可使用 TestDisk 进行分区与文件恢复:
    1. 安装:sudo yum install testdisk
    2. 运行:sudo testdisk
    3. 按向导选择磁盘与分区 → 选择分析/高级模式 → 扫描已删除文件 → 预览并勾选需要恢复的文件 → 指定一个不同磁盘/分区作为输出位置进行复制。
  • TestDisk 支持多种分区与文件系统类型,适合复杂场景,但同样受“是否被覆盖”的限制。

五 成功率与操作要点

  • 立刻停止对丢失数据所在分区的一切写入(日志、下载、缓存、临时文件等),并优先在只读/离线状态下尝试恢复。
  • 恢复文件务必输出到其他磁盘/分区,避免覆盖源数据块。
  • 对关键业务或高价值数据,建议先做整盘镜像后再恢复,或寻求专业数据恢复服务。
  • 事后建立定期备份(如 rsync、Borg、快照)与回收站策略,降低未来损失。

0