Ubuntu中恢复rm命令误删文件(转)

计算机系统:Ubuntu 16.04

1 背景    

    在做项目的时候,本来想使用rm命令删除以14开头的文件,结果写成如下形式:

  1. rm 14 *  

    注意,本来14和*之间不应该有空格的,但是误写了一个空格,结果导致所有文件都被删除了!为了找回被误删的文件,根据网上的一些资料进行探索。

2 ext3grep

  1. sudo apt-get install ext3grep  

    参考资料[4]中对这个工具的使用有比较详细的说明过程。然而,正如参考资料[5]所言,这个工具只适合于ext3文件系统的,而新版本的Ubuntu系统一般都使用ext4文件系统,因此需要使用其它工具,如extundelete

3 extundelete

  1. sudo apt-get install extundelete  

    使用这个工具,我成功的恢复了使用rm命令误删的文件。关于这个工具的使用方法,可见参考资料[7]。下面简单记录一下回复过程。

  1. sudo extundelete /dev/sda1 --restore-all  

    说明:/dev/sda1是误删文件所在的分区。我的误删的文件原来在/home/liyihai里面的子目录中,而这个目录挂载于/dev/sda1分区(使用df -h命令查看)。

    执行上面命令后,会在当前目录中生成一个名为RECOVERED_FILES目录,并且将恢复的文件放到这个目录中。

    根据参考资料[7]的说明,所恢复的文件会被改名,因此需要根据文件的内容,使用grep命令找出您想要的文件。

https://www.cnblogs.com/ylcms/p/7293853.html

 

另一篇文章

1.卸载磁盘分区

 

在将数据误删除后,立刻需要做的就是卸载这块磁盘分区:

 

[root@cloud1 data]# cd /mnt  

[root@cloud1 mnt]# umount /data

 

2.查询可恢复的数据信息

 

通过extundelete命令可以查询/dev/sdc1分区可恢复的数据信息:

 

[root@cloud1 /]# extundelete  /dev/sdc1  --inode 2  

......  

File name                                       | Inode number | Deleted status  

.                                                 2  

..                                                2  

lost+found                                        11             Deleted  

passwd                                            49153          Deleted  

test                                              425985         Deleted  

ganglia-3.4.0                                     245761         Deleted

根据上面的输出,标记为Deleted状态的是已经删除的文件或目录。同时还可以看到每个已删除文件的inode值,接下来就可以恢复文件了。

3. 恢复单个文件

执行如下命令开始恢复文件:

[root@cloud1 /]# extundelete  /dev/sdc1  --restore-file passwd  

Loading filesystem metadata ... 40 groups loaded.  

Loading journal descriptors ... 54 descriptors loaded.  

Successfully restored file passwd  

[root@cloud1 /]# cd RECOVERED_FILES/  

[root@cloud1 RECOVERED_FILES]# ls  

passwd  

[root@cloud1 RECOVERED_FILES]# md5sum  passwd  

0715baf8f17a6c51be63b1c5c0fbe8c5  passwd

extundelete恢复单个文件的参数是“--restore-file”,这里需要注意的是,“--restore-file”后面指定的是恢复文件路径,这个路径是文件的相对路径。相对路径是相对于原来文件的存

储路径而言的,比如,原来文件的存储路径是/data/passwd,那么在参数后面直接指定passwd文件即可,如果原来文件的存储路径是/data/test/mytest.txt,那么在参数后面通

过“test/mytest.txt”指定即可。

在文件恢复成功后,extundelete命令默认会在执行命令的当前目录下创建一个RECOVERED_FILES目录,此目录用于存放恢复的文件,所以执行extundelete命令的当前目录必须是可写的。

二、单个文件使用数据恢复软件的过程

1.卸载磁盘分区

2.查询可恢复的数据信息(流程大致如上)

3.恢复单个文件

执行如下命令开始恢复文件:

[root@cloud1 mnt]# extundelete  /dev/sdc1  --restore-directory /ganglia-3.4.0  

Loading filesystem metadata ... 40 groups loaded.  

Loading journal descriptors ... 247 descriptors loaded.  

Searching for recoverable inodes in directory /ganglia-3.4.0 ...  

781 recoverable inodes found.  

Looking through the directory structure for deleted files ...  

4 recoverable inodes still lost.  

[root@cloud1 mnt]# ls  

RECOVERED_FILES  

[root@cloud1 mnt]# cd RECOVERED_FILES/  

[root@cloud1 RECOVERED_FILES]# ls  

ganglia-3.4.0

https://www.zzidc.com/info/fwqwh/1357.html

http://www.cnblogs.com/edwardcmh/archive/2013/05/30/3108741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值