用grep恢复误删的文本文件

在 Linux 上如果事先没有用别名(alias)修改默认的 rm 功能,rm 后文件就会丢失,幸运的是,在一般的删除文件操作中,Linux 并不会立即清空存储该文件的 block 内容,而只会释放该文件所占用的 inode 和 data block,Linux 上 rm 的过程其实就是将 inode bitmap 和 data block bitmap 中的相应标识设为空闲状态的过程,并不涉及到真正的数据,这也是为什么在 Linux 下删除大文件这么快速的原因,因为大文件所占的磁盘根本就没有清空。所以,如果我们能找到文件对应的 inode,由此查到相应的 data block,就可能从磁盘上把已删除的文件恢复出来,很多文件/磁盘恢复工具都是这么做的。

一般来说二进制文件、库文件等删除后都可以从其他 Linux 拷贝恢复,不是很要紧,如果自己辛苦写的脚本或者配置文件误删了就杯具了。误删这种蠢事经常在 VPSee 身上发生,最近一次是在今年年初的时候,开了 screen 多次 ssh 到不同服务器上,在前后切换的过程中删除了一个很肯定的配置文件,后来发现删的文件是对的,可惜在一台错误的服务器上,本来应该在 A 服务器上删除 file.txt 结果在 B 服务器上删除了 file.txt,多个 screen 和 ssh 把自己搞晕了,而且主机名没有安排好,多台机器都是用的 localhost,不利于识别当时的环境。如果使用 Linux 的时候不幸误删了一个文本文件怎么办呢?

先临时建一个文本文件 vpsee.log 做测试,然后删除这个文件:

$ echo "important log file for vpsee.com" > vpsee.log

$ cat vpsee.log
important log file for vpsee.com

$ rm vpsee.log如果能记住刚才删除文件中的某个关键字的话可以用 grep 搜索整个 /dev/sda1,-a 标志位的意思是把 /dev/sda1 这个分区看成是文本形式的(分区本身是二进制形式的),-B 10 -A 100 的意思是如果找到关键字就打印出其前10行和后100行的内容:

# grep -a -B 10 -A 100 'vpsee.com' /dev/sda1 > tmp.txt在一堆 @ 之间可以找到我们刚才删除的内容:

$ vi tmp.txt
...
@$^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@Ç^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@È^K^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Q^@^@^@^C^@^@^@^@^@^@^@^@^@^@^@È^K^@^@×^@
^@^@important log file for vpsee.com
@
@
...当然,如果误删了二进制、doc、png/jpg/gif 之类的文件,可以用一些第三方 ext2/ext3 文件恢复工具帮助恢复文件,比如 TestDisk, PhotoRec 等。

(0)

相关推荐

  • Smart Image Recovery专门恢复误删的图片文件

    Smart Image Recovery 专门为你恢复误删的图片文件服务,当你不小心把硬盘上、U盘上、数码相机上或等等其他一切存储设备中的图片文件误删后,立刻使用 Smart Image Recove ...

  • 如何使用360安全卫士恢复误删文件

    清理电脑垃圾不小心误删了文件,怎样快速找回呢?我们可以借助360安全卫士来实现恢复误删文件,请看下面的方法教程。 360安全卫士恢复误删文件教程 一、工具法 利用360安全卫士中的360系统急救箱进行 ...

  • 360安全卫士如何恢复误删文件

    360安全卫士恢复误删文件教程 一、工具法 利用360安全卫士中的360系统急救箱进行恢复文件,可以恢复误删而导致系统出错的问题。它分为以下四种修复模式: 1、系统设置修复区; 2、网络修复区; 3、 ...

  • Win7系统如何恢复误删文件

    win7还原系统对于使用电脑的人来说都不陌生,它能帮助我们还原系统,达到win7误删文件恢复的效果。下面系统天堂小编教您Win7系统如何恢复误删文件。 win7误删文件恢复的前提是必须要有一个还原点, ...

  • win8系统怎么恢复误删文件?

    Win8.1系统中有一个文件记录功能,利用这个功能可以恢复误删文件,就算文件被从回收站清空,也能在文件记录中恢复.下面就来介绍一下巧用文件记录功能找回Win8.1误删文件的妙招. 1.Win+X键调出 ...

  • Win8系统下恢复误删文件文件的操作方法

    我们在使用电脑时,很多情况下在文件删除后才发现被删除的文件还有用处,删除后才后悔莫及,本文介绍在win8系统下,借助Recuva恢复工具对误删的文件进行恢复. 操作方法 1.首先安装Recuva,选择 ...

  • 金山毒霸怎么恢复误删照片

    很多时候,我们在清除电脑里面不用的文件时,经常一不小心就把电脑里的照片给删除了,那么,误删照片怎么恢复?许多朋友可能会请专业人士恢复,不仅麻烦,而且费用很高,永久免费的金山毒霸内置照片恢复功能,简单三 ...

  • 误删的文件夹怎么找回?金山数据恢复大师恢复误删文件的方法

    金山数据恢复大师怎么恢复误删文件?金山数据恢复大师是一款专业强悍的文件数据恢复软件,可以帮助用户找回误删的重要文件.接下来,小编就把金山数据恢复大师找回被删除文件的方法分享给大家,非常详细,有需要的小 ...

  • 万能数据宝盒怎么恢复误删数据 万能数据宝盒恢复误删数据教程

    万能数据宝盒恢复误删数据教程: 万能数据恢复宝盒是驱动人生科技股份公司研发的一款实用性超高的万能数据恢复软件,采用最新的数据扫描,从磁盘底层读出原始的扇区数据,经过高级的数据分析算法,把丢失的文件和数 ...