在开始进行实验之前,我已经新建了一个空目录/data,并将该目录挂载了一块新硬盘,将硬盘分区格式化为ext4的格式,所以当我操作/data目录下的文件及文件夹的时候,实际上就是针对新挂载的硬盘进行数据读写操作。首先通过下面的命令准备一下实验用的文件,新建一个文件/data/delfile1.txt并写入数据,新建一个目录/data/deldir,并在该目录下新建一个文件/data/deldir/delfile2.txt

echo "ext4 delete test" > /data/delfile1.txt;
mkdir /data/deldir;
echo "ext4 delete test2" > /data/deldir/delfile2.txt;

完成上面的操作之后,/data目录下的文件路径树如下:

/data
├── deldir
│   └── delfile2.txt
├── delfile1.txt

ext4格式的文件误删除恢复工具我们使用extundelete,先进性安装。

yum install extundelete -y;

安装完成之后,我们来正式进行实验,首先删除目录下面的文件及文件夹rm -fr /data/delfile1.txt /data/deldir。在文件被误删除之后的第一时间,我们应该将硬盘从操作系统umount:umount /dev/sdb1,之所以这么做是防止操作系统进程不断的向磁盘写入数据,造成数据块的覆盖。数据块被覆盖之后,该数据块上的文件就无法恢复了。

# extundelete /dev/sdb1 --inode 2
File name | Inode number | Deleted status
. 2
.. 2
lost+found 11
delfile1.txt 12 Deleted
deldir 262145 Deleted

使用上面的命令我们可以查看到被误删除的文件(node number=12)及文件夹(node number=262145)。备注说明:ext4文件系统的分区根目录的inode值为2,xfs分区根目录的inode值为64

extundelete /dev/sdb1  --restore-file delfile1.txt  #恢复文件
extundelete /dev/sdb1 --restore-directory deldir #恢复目录
extundelete /dev/sdb1 --restore-inode 12 #按照innode编号进行恢复
extundelete /dev/sdb1 --restore-all #全部恢复

进行上述的恢复操作之后,执行命令的文件夹下会新建一个RECOVERED_FILES,看看这个RECOVERED_FILES文件夹下面是不是已经有你误删除的文件或文件夹了呢?文件误删除恢复的操作是存在一定的失败的概率的

最新文章

  1. [Oracle] Bulk Insert Data
  2. typedef 函数指针 数组 std::function
  3. Lua中的require
  4. Extension Methods
  5. Linux使用者管理(2)---账号管理
  6. css实现div块半透明
  7. SSH三种框架及表示层、业务层和持久层的理解
  8. Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
  9. 在python上获得随机字符
  10. Scheme实现二叉查找树及基本操作(添加、删除、并、交)
  11. JMeter Plugin插件配置及远程监控
  12. javaweb代码生成器,专注于javaweb项通用目的代码生成器
  13. 导出数据子集:带where条件的exp导出
  14. rsync问题
  15. SQL之NULL值的几种处理方式
  16. shell 脚本示例
  17. javascript+html5+canvse+3d俄罗斯方块
  18. thinkphp C函数的实现原理
  19. mac下安装apc并且使用
  20. Phonegap项目创建 编译 安装 运行

热门文章

  1. 如何保证同事的代码不会腐烂?一文带你了解 阿里巴巴 COLA 架构
  2. 一像素边框的问题(使不同dpr设备完美显示1px的border)
  3. Spring-JdbcTemplate基本使用
  4. 如何满足一个前端对 Mock 的全部幻想
  5. JVM虚拟机类加载机制(一)
  6. gin框架使用【4.请求参数】
  7. 苞米面 C++ 模板库 介绍
  8. 【多线程与高并发原理篇:3_java内存模型】
  9. 详解Fiddler Classic过滤、重放、转发HTTP请求
  10. vmware ubuntu 忘记密码