linux XFS文件系统误删救星——筑梦之路

XFS文件恢复工具指南

项目信息

开源项目地址:https://github.com/ianka/xfs_undelete

环境说明

  • 操作系统:CentOS 7

依赖安装

bash 复制代码
# 安装必要依赖
yum install -y tcl tcllib coreutils file

依赖说明:

  • tcl:Tcl语言运行环境(必需)
  • tcllib:Tcl扩展功能库
  • coreutils:基础系统工具集
  • file:文件类型识别工具

工具安装

bash 复制代码
git clone https://github.com/ianka/xfs_undelete
cd xfs_undelete
chmod +x xfs_undelete

恢复操作指南

注意事项

  • 恢复前必须停止对目标分区的写入操作

  • 执行以下命令卸载目标分区(以/dev/sda4为例):

    bash 复制代码
    umount /dev/sda4
  • 延迟操作会降低恢复成功率

基本恢复

bash 复制代码
# 恢复/dev/sda4所有删除文件到当前目录的xfs_undeleted文件夹
./xfs_undelete /dev/sda4

高级选项

  1. 时间筛选恢复

    bash 复制代码
    # 恢复最近48小时内删除的文件
    ./xfs_undelete -t 48h /dev/sda4
    
    # 恢复2026-01-16之后删除的文件
    ./xfs_undelete -t "2026-01-16.." /dev/sda4
    
    # 恢复2026-01-16至2026-01-19期间删除的文件
    ./xfs_undelete -t "2026-01-16..2026-01-19" /dev/sda4
  2. 文件类型筛选

    bash 复制代码
    # 仅恢复图片文件
    ./xfs_undelete -r "image/*" /dev/sda4
    
    # 仅恢复文档文件
    ./xfs_undelete -r "text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document" /dev/sda3
  3. 指定输出目录

    bash 复制代码
    # 创建专用恢复目录(必须位于其他分区)
    mkdir -p /mnt/recovery
    
    # 指定输出目录
    ./xfs_undelete -o /mnt/recovery /dev/sda4

实战案例:恢复误删系统文件

场景:误删/usr/bin/ls等系统命令导致功能异常

操作步骤

  1. 重启服务器,在GRUB界面按e编辑启动项,添加init=/bin/bash进入单用户模式

  2. 以只读模式重新挂载根分区:

    bash 复制代码
    mount -o remount,ro /
  3. 挂载外部存储设备:

    bash 复制代码
    mount /dev/sdc1 /mnt/usb
  4. 执行恢复命令:

    bash 复制代码
    ./xfs_undelete -r "application/x-executable" -o /mnt/usb/recovery /dev/sda1
  5. 将恢复的文件复制到/usr/bin目录后重启系统

相关推荐
小成2023032026514 分钟前
Linux高级02
linux·开发语言
mounter62516 分钟前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==26 分钟前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长42 分钟前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5381 小时前
Linux环境变量
linux·运维·服务器
pluvium271 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员1 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
kebeiovo1 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具2 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18802 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器