温馨提示×

CentOS回收站如何恢复

小樊
40
2025-11-23 23:43:11
栏目: 智能运维

CentOS回收站恢复指南

一 前置判断

  • CentOS上是否有“回收站”取决于是否使用了桌面环境与删除方式:
    • 使用GNOME等桌面并通过文件管理器删除,文件通常会进入用户主目录的隐藏回收站:~/.local/share/Trash/files
    • 纯命令行用 rm 删除,通常不会进入回收站,而是直接从文件系统移除,此时需要借助恢复工具。
    • 若曾安装并使用过命令行回收站工具(如trash-cli),可用其命令管理回收站内容。

二 图形界面恢复步骤

  • 使用Nautilus(GNOME 文件管理器):
    1. 打开文件管理器;2) 左侧或“其他位置”进入已删除文件/废纸篓;3) 右键目标文件选择还原,或拖回原位置。
  • 命令行查看与还原(若安装了 gvfs-trash):
    • 列出回收站:gvfs-trash --list
    • 交互式还原:gvfs-trash --restore
    • 一键全部还原:gvfs-trash --restore-all
  • 直接操作回收站目录:
    • 进入回收站文件目录:cd ~/.local/share/Trash/files
    • 将所需文件复制回原路径(注意同名覆盖风险):find . -name “文件名” -exec cp {} /原路径/ ;
  • 提示:还原到原路径时,若目标位置已有同名文件,可能被覆盖,建议先检查或改复制到临时目录再移动。

三 命令行工具 trash-cli 恢复

  • 安装(CentOS 7/8 常见可用 EPEL 源):sudo yum install -y trash-cli
  • 常用命令:
    • 查看回收站:trash-list
    • 交互式还原:trash-restore(可按序号选择)
    • 批量还原:trash-restore -r
    • 清空回收站:trash-empty
  • 适用场景:你或系统曾使用 trash-cli 将文件移至回收站(而非直接用 rm)。

四 回收站不存在或已被清空时的恢复

  • 立即停止对目标分区的写入(下载、解压、缓存、日志等),并尽量从只读方式挂载或卸载后操作,降低被覆盖风险。
  • 工具一:extundelete(ext3/ext4)
    • 安装依赖与工具:sudo yum install -y e2fsprogs-devel gcc gcc-c++;随后可编译安装 extundelete(常见版本为0.2.4)。
    • 基本用法(以分区 /dev/sdXN 为例):
      • 扫描:/usr/local/extundelete/bin/extundelete /dev/sdXN --inode 2
      • 恢复单文件:/usr/local/extundelete/bin/extundelete /dev/sdXN --restore-file 路径/到/文件
      • 恢复目录:/usr/local/extundelete/bin/extundelete /dev/sdXN --restore-directory 路径/到/目录
      • 恢复全部:/usr/local/extundelete/bin/extundelete /dev/sdXN --restore-all
    • 恢复结果默认生成在当前工作目录的RECOVERED_FILES/
  • 工具二:TestDisk(多文件系统/分区恢复)
    • 安装:sudo yum install -y testdisk
    • 运行:testdisk,按向导选择磁盘与分区,执行Deeper Search,勾选需要恢复的文件并复制到另一块磁盘/分区
  • 重要提示:恢复成功率取决于是否被新数据覆盖;越早尝试越好;对重要数据建议先做整盘镜像后再恢复。

0