博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 16.04使用rm -rf误删文件恢复方法收集
阅读量:6804 次
发布时间:2019-06-26

本文共 1210 字,大约阅读时间需要 4 分钟。

说明:不一定有效,需要不断尝试

一、lsof

文件刚刚被删除,想要恢复,先尝试lsof.
lsof |grep data.file1cp /proc/xxx/xxx/xx  /dir/data.file1
如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。
要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。
umount  /dev/part    或    mount -o remount,ro /dev/part
删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用),节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。因此要立刻卸载分区。

二、ext3grep

sudo apt-get install ext3grep

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

三、extundelete

sudo apt-get install extundelete

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

sudo extundelete /dev/sda1 --restore-all

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

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

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

四、/casper/filesystem.squashfs

这个是Ubuntu光盘特有的文件,将解压缩的光盘文件夹下面/casper/filesystem.squashfs文件拷贝出来到一个单独的文件夹

cd到刚拷贝出来filesystem.squashfs所在文件夹,然后打开终端输入

unsquashfs filesystem.squashfs

回车执行

上一步执行完会生成一个squash-boot文件夹,然后在里面寻找你所误删的系统文件即可,在哪个目录下删除的就在对应目录下找

 

参考

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

(以上内容部分转自此篇文章)

(以上内容部分转自此篇文章)

(以上内容转自此篇文章)

转载地址:http://hpjwl.baihongyu.com/

你可能感兴趣的文章
windows脚本配置ip地址
查看>>
5.简单理解递归思想
查看>>
HTML5 css3 阴影效果
查看>>
判断一周中的某一天是否为工作日
查看>>
linux基本指令
查看>>
读取数量不定的输入数据
查看>>
【Android】报表、线图、饼图、柱状图 (工具整理)
查看>>
2-18mysql数据备份
查看>>
Spring 定时执行任务重复执行多次
查看>>
jquery css()
查看>>
redux中文文档
查看>>
6. 八大排序的效率及稳定性
查看>>
图解CSS3----1-关系选择器
查看>>
4-开发环境.
查看>>
条件渲染
查看>>
CPU-如何开始在新的CPU上编程
查看>>
linux中后台挂载进程和卸载进程
查看>>
美国创投巨擘----红杉资本(Sequoia Capital)
查看>>
sea js
查看>>
leetcode Minimum Depth of Binary Tree
查看>>