linux误删文件后的恢复方法

  

今天小编给大家分享的是linux误删文件后的恢复方法,相信很多人都不太了解,为了让大家更加了解linux误删文件后的恢复方法,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

發inux误删文件后的恢复方法"

linux不像windows有个回收站,使用<代码> rm rf *>

那么问题来了:

对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢?

答案当然是否定的,对于误删的文件,我们还是能通过软件恢复过来的。对于误删文件还原可以分为两种情况:

    <李>

    一种是删除以后在进程存在删除信息

    <李>

    一种是删除以后进程都找不到,只有借助于工具还原。

接下来以例子分别解说下两种不同的误删还原方式:

<强>误删除文件进程还在的情况:

这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID依旧存在。这也是有些服务器删除一些文件但是磁盘不释放的原因。

打开一个终端对一个测试文件做猫追加操作:

[root@docking ~] #回声“这是DeleteFile测试!”比;deletefile.txt   root@docking ~ # ls   deletefile.txt   (root@docking ~) #猫在祝辞deletefile.txt   SomeLine添加到deletefile为了好玩。

打开另外一个终端查看这个文件可以清楚看到内容:

root@docking ~ # ls   deletefile.txt   #猫deletefile.txt root@docking ~   这是DeleteFile测试。   SomeLine添加到deletefile为了好玩。

此时,删除文件<代码> rm - f deletefile。txt

root@docking ~ # rm - f deletefile.txt   root@docking ~ # ls   #命令查看这个目录,文件已经不存在了,那么现在我们将其恢复出来。
    <李>

    lsof查看删除的文件进程是否还存在。

    <李>

    如没有安装请自行<代码> yum安装lsof> apt-get安装lsof

1,类似这种情况,我们可以先lsof查看删除的文件是否还在

root@docking ~ # lsof | grep deletefile   猫21796根1 w注册253,1 63 138860/root/deletefile。txt(删除)

2,恢复<代码> cp/proc/pid/fd/1/指定目录/文件名

进入进程目录,一般是进入/proc/pid/fd/,针对当前情况:

root@docking ~ # cd/proc/21796/fd   (root@docking fd) #噢   总用量0   lrwx - - - - - - 1根根64年1月18日二二21 0→/dev/pts/0   l-wx - - - - - - 1根根64年1月18日二二21 1→/root/deletefile。txt(删除)   lrwx - - - - - - 1根根64年1月18日二二21 2→/dev/pts/0

恢复操作:

(root@docking fd) # 1 ~/deletefile.txt.backup cp   (root@docking fd) #猫~/deletefile.txt.backup   这是DeleteFile测试。   SomeLine添加到deletefile为了好玩。

3,恢复完成。

<强>误删除的文件进程已经不存在,借助于工具还原

准备一些文件目录

#准备一份挂载的盘   mkdir backuptest   cd backuptest   mkdir deletetest   mkdir deletetest/innerfolder   回声“删除一个文件夹测试!”比;deletetest/innerfolder/deletefile.txt      回声“tcpdump: x: 172:72::/:/sbin/nologin"比;tmppasswd

最后准备的目录结构如下:

taroballs@taroballs-PC:/媒体/taroballs/taroballs/backuptest $ cd . .   taroballs@taroballs-PC:/媒体/taroballs/taroballs backuptest/美元树   backuptest/├──deletetest   │└──innerfolder   │└──deletefile.txt   └──tmppasswd      2目录,文件

现在开始删除该目录<代码> rm射频backuptest/

taroballs@taroballs-PC:美元/媒体/taroballs/taroballs rm射频backuptest/taroballs@taroballs-PC:/媒体/taroballs/taroballs $ ls - l   总用量0

这种情况一般是没有守护进行或者后台进程对其持续输入,所以删除就真的删除了.lsof也看不到,故需要采用工具进行恢复。

现在开始进行误删除文件的恢复。

我们采用的工具是extundelete第三方工具。恢复步骤以及注意事项如下:

    <李>

    停止对当前分区做任何操作,防止inode被覆盖.inode被覆盖基本就告别恢复了。

    <李>

    夸张一点讲,比如停止所在分区的服务,卸载目录所在的设备,有必要的情况下都可以断网。

    linux误删文件后的恢复方法