注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

linux下用rm删除的文件的恢复方法   

2008-11-14 19:36:59|  分类: L-FS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  对于rm,很多人都有惨痛的教训。我也遇到一次,一下午写的程序就被rm掉了,幸好只是一个文件,第二天很快又重新写了一遍。但是很多人可能就不像我这么幸运了。本文收集了一些恢复rm删除的文件的方法,给大家作为参考。

  首先,最好的方法是避免这个问题,以下是几点建议:

  1、rm -rf误操作的后果是可怕的,rm -f也要三思而行,不能轻易使用。

  2、做好数据备份。

  3、用一些策略避免出错:

  提倡在shell下用 TAB 补全,用脚本执行任务,减少出错的机会。或者编写一个脚本,起名rm,在脚本里将真实的rm改为mv ,将删除的都mv到一个指定的目录里面,定期清理。

  那么rm删除的文件还能恢复吗?

  rm的man里面有如下说法:
  请注意,如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证该文件的内容无法还原,请考虑使用 shred。

  所以理论上rm删除的文件是还能恢复的。删掉文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出,再保存到另外的分区。在用rm误删除文件后,我们要做的第一件事就是保证不再向误删文件的分区写数据。

  通常我们可以有以下几种选择:

  1、借助工具。

  2、自己写程序。你需要会编程并了解对应的文件系统

  3、如果数据很有用,也许可以找专业公司抢救。

  工具
  1、The Sleuth Kit http://www.sleuthkit.org/sleuthkit/(Autopsy是它的一个图形前端)

  2、Foremost    http://foremost.sourceforge.net

  3、一个全能的工具,Finaldata,可以恢复unix/linux/dos下误删的文件。对于unix,支持这些产品,       Solaris、AIX和HP-UX。对于linux,支持EXT2的文件系统。对于dos,支持FAT 12/16/32, NTFS 4/5/5.1 的文件系统。

  4、如果文件系统是ext2(对ext3无效):
  ext3的删除机制是直接把 inode data 删除了,所以造成 ext3 无法反删除(ext3设计为无法恢复被删除的文件)。

  unrm
  ext2ed
  debugfs(undel lsdel )
  recover
  Midnight Commander(mc)
  e2undel
  tct

  5、如果文件系统是FAT32或者NTFS:
  EasyRecovery
  Finaldata

  6、freebsd如果使用了rm,可以试一下undelete这个命令.

  7、当进程打开了某个文件时,只要该进程保持打开该文件,lsof可以用来恢复删除文件。
  评论这张
 
阅读(318)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017