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 文件重新安装软件,也可能是我方法没找到删除的正确文件路径