rm -rf恢复

文件删除,需要进行恢复。

 

 

1. lsof

  文件刚刚被删除,想要恢复,先尝试lsof.

  #lsof |grep data.file1

  # cp /proc/xxx/xxx/xx  /dir/data.file1

 

2. 

  如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。

  要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。

  umount  /dev/part    或    mount -o remount,ro /dev/part

  删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用)

  节点中的扇区指针清除,同时,释放这些数据对应的数据块,

  而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些

  释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。因此要立刻卸载分区。

 

3. ext3grep 

  该工具只能用于ext3文件系统,操作步骤不详细介绍.

  1> unmount /dev/part

  2> ext3grep /dev/part --ls --inode 2        ##列出可恢复文件信息

  3>ext3grep /dev/part --restore-inode N

  4>恢复到 RESTORED_FILES/

  更多命令查看 ext3grep --help

 

 

4. extundelete

   该工具可以恢复ext3,ext4.   http://extundelete.sourceforge.net/

    

   1>fuser -k /dev/part  && unmunt /dev/part

   2>extundelete --inode 2  /dev/part

   3>extundelete --restore-inode 13 /dev/part

   4>恢复到 RECOVERD_FILES/

### 如何恢复Linux中使用`rm -rf`误删的文件 #### 利用进程保持打开状态的情况恢复文件 当有进程仍然持有已删除文件的句柄时,即使该文件已经被`rm -rf`命令移除,在某些情况下仍可以从内存中的缓冲区读取数据并将其保存下来。这是因为Linux内核保留了指向实际inode的数据结构直到最后一个对该文件的引用关闭为止[^1]。 ```bash lsof | grep '(deleted)' ``` 上述命令可以帮助定位哪些进程关联着已经标记为删除但仍处于打开状态的文件。找到对应的进程ID(PID),可以通过以下方式尝试恢复: ```bash cp /proc/<pid>/fd/<file_descriptor> /path/to/recovered_file ``` 这里`<pid>`代表目标进程编号,而`<file_descriptor>`则是通过前一条指令获得的具体描述符号码。 #### 使用专门工具进行文件系统级别的恢复 对于不再被任何进程占用但最近才被删除的文件,可能需要借助特定于所使用的文件系统的实用程序来进行更深入的数据检索工作。例如针对EXT3/4类型的分区,可以考虑安装并运行`extundelete`这样的第三方软件来扫描未分配空间寻找残留痕迹[^3]。 首先下载编译环境依赖项以及源码包: ```bash yum install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2 tar xvzf extundelete-0.2.4.tar.bz2 cd extundelete-0.2.4/ ./configure && make && sudo make install ``` 接着利用此工具尝试全面恢复整个挂载点上的所有可识别对象至当前目录下的`RECOVERED_FILES`子文件夹中去[^4]: ```bash extundelete /dev/sdXn --restore-all ``` 请注意替换其中的设备路径参数以匹配实际情况;另外并非所有的丢失记录都能成功找回,成功率取决于多种因素的影响,比如是否有新的写入操作发生过等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值