linux恢复工具_linux数据恢复工具_数据恢复linux

一、操作数据需慎重

在实际的工作中linux数据恢复工具linux命令手册,同学们可能会将linux服务器上的文件不留神误删掉掉了。并且越是资历老的工程师越容易犯这样的错误,敲代码的速率也是够快,啪啪rm-rf一个回车,之后就是打脸时刻。新人操作文件时常常战战兢兢、反复确认,反倒不容易出错。假如你也是一个有多年工作经验的工程师,也给自己提个醒:溺毙的都是会水的。

序言

linux恢复工具_数据恢复linux_linux数据恢复工具

明天不留神把一个文件给删掉了红旗linux5.0,由于不想花半天时间重新写,就查找了一下Linux下恢复文件的方式。

由于是刚删不久,文件实际的数据应当还在

首先查看系统分区

Linux:~# dfFilesystem           1K-blocks      Used Available Use% Mounted on/dev/sda1              1968417    463571   1504846  24% /tmpfs                    16384         4     16380   1% /var/lib/php5tmpfs                    16384        40     16344   1% /var/runtmpfs                   131072         4    131068   1% /tmpssl_service             262144         0    262144   0% /kssl/HRP/cache

linux数据恢复工具_数据恢复linux_linux恢复工具

使用系统自带工具debugfs进行修补打开删掉的文件所在的分区

Linux:~# debugfsdebugfs 1.37 (21-Mar-2005)debugfs:  open /dev/sda1

用ls-d查看刚才删掉的文件所在的目录假如列表中有我们要找的文件,尖括弧中是对应的inode号

debugfs:  ls -d /root/rand-test 180331  (12) .    180225  (12) ..    180333  (16) assess 180334  (32) experiments   <180451> (12) 4913    180358  (32) data<180451> (20) .1.swp    180359  (68) periodtest.sh<180337> (44) .singletest.input.swp    180451  (24) periodtest.input 180356  (828) singletest.input   <180366> (32) .periodtest.input.swp<180375> (748) .singletest.input.swp   <180338> (716) periodtest.input~

linux数据恢复工具_linux恢复工具_数据恢复linux

查看inode的日志文件

debugfs:logdump-i

Inode180338isatgroup176,block1441809,offset128

Journalstartsatblock3434,transaction90549

FSblock1441809loggedatsequence90622,journalblock3950

linux恢复工具_linux数据恢复工具_数据恢复linux

quit退出debugfs,使用dd命令进行恢复,bs为上面得到的offsetlinux数据恢复工具,skip为上面得到的block

debugfs:  quitLinux:~/rand-test# dd if=/dev/sda1 of=/root/rand-test/periodtest.input~ bs=128 count=1 skip=14418091+0 records in1+0 records out128 bytes transferred in 0.000081 seconds (1582468 bytes/sec)

遗憾的是,我要恢复的文件早已不在了好在对于文本文件还有另一种方式,使用grep第一步同样是找到文件所在的分区之后使用grep对分区进行搜索,只要你记得文档中的个别关键字

数据恢复linux_linux恢复工具_linux数据恢复工具

grep -a -B 30 -A 150 'function checkInt() ' /dev/sda1 > tmp.txt

其中-a表示把分区看成文本方式(分区本身是二补码方式的),-B30-A150表示找到搜索的内容就复印上面30行和前面150行假如分区比较大可能须要一定的搜索时间,完成以后打开tmp.txt,你会发觉在一堆乱码中镶嵌着你要恢复的本文至此,大功告成。总结

使用debugfs的方式适用于所有文件,不过须要inode信息依然存在。使用grep的方式,只须要实际的block中数据还存在即可恢复,不过只适用于文本文件。

另外,切忌rm需慎重

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复