linux误用rm删除文件后恢复

linux 系统:ubuntu16.04

误把/usr/local local文件删除了,要疯

步骤:

1.对于文件系统为ext3文件系统

sudo apt-get install ext3grep

对于文件系统为ext4文件系统

sudo apt-get install extundelete

注:linux查看文件系统的格式可以使用如下两种方法

cat /etc/fstab

2.恢复系统使用命令:

sudo extundelete /dev/sda2 --restore-all
# /dev/sda1是误删的文件原来在/usr/local里面的子目录中,而这个目录挂载在/dev/sda2分区
# 注释:查看挂载地址
df -T

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

 

二:更细致的方法:如果你只是删除了一个文件

从节点一点点找,首先找到你删除的

sudo extundelete --inode 2 /dev/sda2     (/dev/sda2挂载点)

结果

往丢失文件的下一级 就是usr的节点

extundelete --inode 7733249 /dev/sda2

结果:

再往丢失文件的下一级 就是usr/local的节点 

sudo extundelete --inode 8128186 /dev/sda2

结果:

找到了删除的文件后也是通过节点数字串去恢复

 sudo extundelete --restore-inode 8128309  /dev/sda2 
...

在当前目录下产生了一个RECOVERED_FILES目录,恢复的文件就在这个目录中。

总结:其实恢复的结果并不令人满意,我安装的软件文件没了,一堆file文件,也看不懂,最后貌似感觉是无用功,重新建立local 文件重新安装软件,也可能是我方法没找到删除的正确文件路径

 

posted on 2019-03-13 17:54  V神丫丫  阅读(18047)  评论(0编辑  收藏  举报