linux下简单恢复删除文件

今天在修改apache配置文件时,用户vi命令打开的,由于长时间没有操作,CRT终端自动退出。这时再登陆服务器,想编辑时提示

Swap file "/etc/httpd/conf/.httpd.conf.swp" already exists!

[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

这问题很常见,把.httpd.conf.swp删除就行了,可一不小心,把原文件给删除了,悲崔了!

一想,还有一个.httpd.conf.swp文件,把它改名回来不就行了!于是mv .httpd.conf.swp httpd.conf  然后再打开

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^

@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^

@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

^@^@^@^@^@^

全是乱码!

 

后来想到一个方法,把改回来的文件再改回去mv httpd.conf .httpd.conf.swp

然后touch一个新的空文件为httpd.conf

再用vi打开httpd.conf文件,同样又会再次显示:

Swap file "/etc/httpd/conf/.httpd.conf.swp" already exists!

[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

这时,只要按一下“R”键就是可以恢复了!之后再把那个隐藏文件删除就可以了!

 

 

至于使用fd文件描述符方法,在这里就不适用了,当然对于日志文件和数据库文件来说,那些都是一直被某些进程占用打开的,那些文件被删除后利用内存中保存的文件描述符来恢复是个不错的选择。

posted @ 2013-10-31 15:25  语辰灬  阅读(1680)  评论(1)    收藏  举报