下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

linux中不小心删除重要文件?

作者:课课家教育     来源: http://www.kokojia.com点击数:816发布时间: 2016-10-15 13:00:39

标签: linux恢复linux还原系统运维

  使用计算机的时候,如果不小心删除了重要的文件,这也是属于正常的一个操作,一时手快,删除了重要的文件那也是让人非常苦恼的一件事情,在Windows中删除了文件我们还可以从垃圾箱中找回来,但有时候在Linux中,自己非常辛苦的写满了重要的脚本和一些配置文件的时候,一不小心就给删除了,这种情况我们该怎么办呢,找回文件的方式有点麻烦,我们来看看该怎么恢复。

linux中不小心删除重要文件_linux恢复_linux还原_系统运维_课课家

  长期使用电脑误删文件是正常的,一般在Linux上如果事先没有用别名(alias)修改默认的rm功能,rm后文件就会丢失,让用户欣慰的是,如果是在一般的删除文件操作中,Linux它并不会立就会清空存储该文件的block内容,它只是会释放该文件所占用的inode和datablock,这一点我们是需要了解清楚的。

  其实在Linux上rm的过程其实就是将inodebitmap和datablockbitmap中的相应标识设为空闲状态的过程,这个过程中它并没有涉及到真正的数据,为什么在Linux下删除大文件这么快速?也就是这个原因了,因为大文件所占的磁盘根本就没有清空。因此如果我们能找到文件对应的inode,由此如果是查到相应的datablock,就可以从磁盘上把已删除的文件恢复出来,在linux上很多文件/磁盘恢复工具都是这么做的。

  通常来说二进制文件、库文件等删除后都可以从其他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

  $catvpsee.log

  important log file for vpsee.com

  $rmvpsee.log

  如果你可以记住刚才删除文件中的某个关键字的话,这对你的搜索将会有一定的帮助,你可以用grep搜索整个/dev/sda1,-a标志位的意思是把/dev/sda1这个分区看成是文本形式的(因为分区本身是二进制形式的),-B10-A100它的意思是如果找到关键字就打印出其前10行和后100行的内容:

  #grep-a-B10-A100'vpsee.com'/dev/sda1>tmp.txt

  在一堆@之间可以找到我们刚才删除的内容:符号比较多,需要我们耐心的去寻找。

  $vitmp.txt

  ...

  @$^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@?^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@è^K^@^@^@

  ^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Q^@^@^@^C^@^@^@^@^@^@^@^@^@^@^@è^K^@^@×^@

  ^@^@importantlogfileforvpsee.com

  @

  @

  ...

  除此之外,用户如果误删了二进制、doc、png/jpg/gif之类的文件,可以用一些第三方ext2/ext3文件恢复工具帮助恢复文件,比如TestDisk,PhotoRec等这些软件也是可以进行恢复的,操作起来也是比较简单。

    总结:在linux中删除文件的话是非常的快速的,原因在文中我们可以知道,但是要恢复的话,那就需要有一定的耐心和技术水平了,操作起来是比较复杂的,有了经验之后,以后也就不会太麻烦了。

赞(19)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程