rm -rf 后的文件如何恢复?

来源:互联网 发布:锤子便签 mac 编辑:程序博客网 时间:2024/05/07 19:11

原贴:http://grb.physics.unlv.edu/~zbb/read.php?304

rm -rf 后的文件如何恢复?


转自 http://yecheng110.blog.hexun.com/12776265_d.html


    1、rm -rf误操作的后果是可怕的,rm -f也要三思而行,不能轻易使用。
  2、做好数据备份。
  3、用一些策略避免出错:
       提倡在shell下用 TAB 补全,用脚本执行任务,减少出错的机会。
       或者编写一个脚本,起名rm,在脚本里将真实的rm改为mv ,将删除的都mv到一个指定的目录里面,定期清理。

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

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

  所以理论上rm删除的文件是还能恢复的。删掉文件其实只是将指向数据块的索引点(informationnodes)释放,只要不被覆盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出,再保存到另外的分区。在用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, NTFS4/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、有人用debugfs恢复ext3被rm的资料
    http://www.sosdb.com/jdul/dispbbs.asp?boardID=6&ID=342&page=1

  8、当进程打开了某个文件时,只要该进程保持打开该文件,lsof可以用来恢复删除文件。

  编程的方式

    1、CU上有人写了一个小程序恢复Solaris上误删的数据
       http://bbs.chinaunix.net/viewthread.php?tid=16642
    2、恢复ext3被rm的资料
    http://blog.seety.org/everydaywork/2005/3/11/248/
  3、如何恢复 Linux 上删除的文件,第 2 部分
    http://www.ibm.com/developerworks/cn/linux/l-cn-filesrc2/?S_TACT=105AGX52

Published by binbinzhang, at 07:07, 2008, under Linux

Tags: linux

Category: Linux

 

原创粉丝点击