开发者社区> 柳鲲鹏> 正文

LINUX恢复误删除文件的两种方法(部分成功)

简介: LINUX恢复误删除文件的两种方法(部分成功)
+关注继续查看

当然是个人使用的机器啦。如果是服务器,要恢复就比较麻烦,及早切断其他用户什么的。

先查看有哪些盘。

df

1、使用extundelete


sudo extundelete /dev/sda1 --restore-directory /home/gh/文档

恢复了很多文件。关键的文档没有成功。



2、使用debugfs


按照描述的办法,恢复出来的文档内容一点也不对。实际上看到3456的时候,吾就觉得不正常。怎么可能正好碰上这样的数字?还是写出来供大家参考吧。



进入恢复功能

sudo debugfs

打开操作的硬盘

open /dev/sda1

这个是刚才查看得到的位置。


列出刚刚删除的文件

ls -d /home/gh/文档
7077905  (12) .    7077890  (4084) ..   
<7078322> (52) .~lock.GH智能系统安装步骤.odt#   
<7083452> (4020) GH智能系统安装步骤.odt   
<7088970> (3976) gh_gstsink.cpp

查看文件信息

logdump -i <7083452>
Inode 7083452 is at group 864, block 28311757, offset 3456
Journal starts at block 1, transaction 25167
  FS block 28311757 logged at sequence 25332, journal block 2597 (flags 0x2)
    (inode block for inode 7083452):
    Inode: 7083452   Type: bad type        Mode:  0040   Flags: 0x0
    Generation: 0    Version: 0x000103e8:00000000
    User:     0   Group:     0   Size: -336554028
    File ACL: 0    Directory ACL: 0
    Links: 0   Blockcount: 0
    Fragment:  Address: 0    Number: 0    Size: 0
     ctime: 0xebf097d4:00006d0c -- Thu Jun  9 07:14:28 2095
     atime: 0xebf097d4:5ba8dca2 -- Thu Jun  9 07:14:28 2095
     mtime: 0x5ba8dc79:5ba8dc7a -- Mon Sep 24 20:45:45 2018
    crtime: 0x5ba8dca2:00000000 -- Mon Sep 24 20:46:26 2018
    dtime: 0xebf097d4 -- Thu Jun  9 07:14:28 2095
Size of extra inode fields: 33152
invalid inode->i_extra_isize (33152)
    Blocks:  
No magic number at block 5077: end of journal.


导出文件数据

dd if=/dev/sda1 of=/tmp/saved  bs=3456 count=1 skip=28311757

bs:offset后的值。


skip:Block后的值。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux下安装/更新Firefox且安装/更新Flash的方法
Linux下安装/更新Firefox且安装/更新Flash的方法
52 0
Linux下,查看 可执行文件 依赖的 动态库的几个方法
Linux下,查看 可执行文件 依赖的 动态库的几个方法
603 0
Linux 使用 chrony 进行 NTP 时间同步及自建方法
chrony是网络时间协议的实现。它可以替代ntpd,后者是NTP的参考实现。它在类Unix操作系统上运行,并在GNU GPL v2下发布。
119 0
LINUX使用C调用LMDB的方法
LINUX使用C调用LMDB的方法
68 0
Linux 6种日志查看方法,不会看日志会被鄙视的
Linux 6种日志查看方法,不会看日志会被鄙视的
256 0
Linux服务器中了病毒后的清理方法
Linux服务器中了病毒后的清理方法
1215 0
Linux CentOS7.x 升级内核的方法
Linux CentOS7.x 升级内核的方法
142 0
在Linux终端中生成随机强密码的5种方法
在Linux终端中生成随机强密码的5种方法
58 0
Linux用不同的方法来检查密码的复杂性并获取强度和得分
Linux用不同的方法来检查密码的复杂性并获取强度和得分
106 0
几种Linux系统切换内核启动顺序方法
几种Linux系统切换内核启动顺序方法
581 0
Linux系统中裸机按键中断的驱动方法
Linux系统中裸机按键中断的驱动方法
21 0
Linux系统中利用C语言控制LED的方法
大家好, 今天主要和大家聊一聊,如何利用C语言控制LED灯的实验。
55 0
Linux系统中使用汇编初始化外设方法
大家好,我是ST。 今天主要和大家聊一聊,如何使用汇编语言来实现芯片外设的初始化功能。
55 0
linux驱动中如何向模块传递参数方法
大家好,今天主要和大家分享一下,如何向模块传递参数? Linux kernel 提供了一个简单的框架。利用module_param和module_param_arra来实现。
61 0
Linux系统中利用open函数多次打开同一个文件操作方法
大家好。 今天的话主要和大家聊一聊,在Linux系统中如果一个文件被打开多次会出现什么情况。
184 0
+关注
柳鲲鹏
文章
问答
视频
相关电子书
更多
ECS运维指南 之 Linux系统诊断
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像