<b>误删文件不用怕 grep号令帮你恢复</b>[Linux安全]
本文“<b>误删文件不用怕 grep号令帮你恢复</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作为长期的电脑利用者,必定会有误删文件的阅历,在 Mac OS X 和 Windows 上删除的文件城市默许进 “回收站”.在 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 等.
以上是“<b>误删文件不用怕 grep号令帮你恢复</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |