恢复Linux下被误删除的文件(笔记)
恢复Linux下被误删除的文件
[root@xuegod63 ~]# mount /dev/cdrom /mnt/
分一个区:sda4
查找:extundelete
分一个区:sda4
[root@localhost ~]# mkdir /tmp/sda4
[root@localhost ~]# mkfs.ext4 /dev/sda4 格式化
[root@xuegod63 Desktop]# echo $?
0
[root@localhost ~]# mount /dev/sda4 /tmp/sda4/
[root@localhost ~]# df -Th #查看磁盘相关信息
[root@xuegod63 Desktop]# mount /dev/sda4 /tmp/sda4
[root@xuegod63 Desktop]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.7G 3.8G 5.5G 41% /
tmpfs 569M 264K 569M 1% /dev/shm
/dev/sda1 194M 28M 157M 15% /boot
/dev/sr0 3.4G 3.4G 0 100% /mnt
/dev/sda4 1012M 34M 928M 4% /tmp/sda4
复制一些用于测试删除的文件:
[root@localhost ~]# cp /etc/passwd /tmp/sda4/
[root@localhost ~]# cp /etc/hosts /tmp/sda4/
[root@localhost ~]# vim /tmp/sda4/a.txt #vim编辑a.txt 随便写入一些数据。
[root@localhost ~]# mkdir -p /tmp/sda4/a/b/c
[root@localhost ~]# cp /tmp/sda4/a.txt /tmp/sda4/a
[root@localhost ~]# cp /tmp/sda4/a.txt /tmp/sda4/a/b/
删除:
[root@xuegod63 ~]# mkdir /tmp/back
[root@xuegod63 ~]# cp -r /tmp/sda4/* /tmp/back
[root@xuegod63 ~]# cd /tmp/sda4/
[root@localhost ~]# rm -rf passwd hosts a a.txt
[root@localhost ~]# ls /tmp/sda4/
lost+found
卸载需要恢复文件的分区: inode
[root@xuegod63 sda4]# cd
[root@xuegod63 ~]# umount /tmp/sda4/
安装软件 extundelete
[root@xuegod63 ~]# tar jxvf extundelete-0.2.4.tar.bz2
[root@xuegod63 ~]# cd extundelete-0.2.4
[root@xuegod63 extundelete-0.2.4]# ./configure
Configuring extundelete 0.2.4
configure: error: Can't find ext2fs library #报错
[root@xuegod63 ~]# mount /dev/cdrom /mnt/
[root@xuegod63 extundelete-0.2.4]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm
[root@xuegod63 extundelete-0.2.4]#
[root@xuegod63 extundelete-0.2.4]# ./configure #检查安装环境并生成Makefile
[root@xuegod63 extundelete-0.2.4]# make #编译
[root@xuegod63 extundelete-0.2.4]# make install #安装
http://www.cnblogs.com/jjzd/p/5785851.html
安装e2fsprogs-devel-1.41.12-14.el6.x86_64.rpm
开始恢复:
方法1:
通过inode结点查看被删除的文件名字:
[root@xuegod63 ~]# mkdir test
[root@xuegod63 ~]# cd test/
[root@localhost ~]# extundelete /dev/sda4 --inode 2
。。。
lost+found 11
passwd 12 Deleted
hosts 13 Deleted
a 8193 Deleted
a.txt 15 Deleted
通过inode节点来恢复:
[root@localhost ~]# extundelete /dev/sda4 --restore-inode 12
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 16 groups loaded.
Loading journal descriptors ... 32 descriptors loaded.
[root@localhost ~]# ls RECOVERED_FILES/ #恢复成功
file.12
[root@xuegod63 test]# diff /etc/passwd /root/test/RECOVERED_FILES/file.12
方法二,通过文件名恢复
方法二,通过文件名恢复
恢复某个文件:
[root@xuegod63 test]# rm -rf RECOVERED_FILES/
[root@localhost ~]# extundelete /dev/sda4 --restore-file passwd
恢复某个目录,如目录a下的所有文件:
[root@localhost ~]# extundelete /dev/sda4 --restore-directory a #恢复目录a ,不用
恢复所有的文件
[root@localhost ~]# extundelete /dev/sda4 --restore-all
使用心得:
空目录或空文件恢复不成功。
恢复Linux下被误删除的文件(笔记)的更多相关文章
- linux下rm误删除数据库文件的恢复方法
在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total ...
- 恢复Ext3下被删除的文件(转)
恢复Ext3下被删除的文件(转) 前言 下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 删除文件 假设我们有一个文件名叫 ‘test.txt’ $ls -il test.txt 1 ...
- linux下生成core dump文件方法及设置
linux下生成core dump文件方法及设置 from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...
- linux下分卷tar.bz文件的合并并解压缩
linux下分卷tar.bz文件的合并并解压缩 例: linux.tar.bz2.001;linux.tar.bz2.002;linux.tar.bz2.003; 首先 cat linux.tar.b ...
- linux下php上传文件注意
linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- linux下java调用.so文件的方法1: JNI
摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...
- Linux 下 Vi 配置文件 .vimrc 文件
Linux 下 Vi 配置文件 .vimrc 文件 配置 vim 的方法是在用户主目录下建立个.vimrc文件,我一般使用root帐户,所以就在/root/下建立一个.vimrc文件:vi /root ...
- Linux下 两台机器文件/文件夹 相互拷贝
Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...
随机推荐
- iOS UILabel UITextView UIButton 等等显示文本行间距
iOS UILabel UITextView UIButton 等等显示文本行间距都用如下方法 NSMutableParagraphStyle *paragraphStyle = [[NSMutab ...
- [原创作品]web网页中的锚点
因为近来在从事web前端开发的工作,所以写的文章也都是关于web这一块.以后将分享算法和web高级编程的内容,很多公司的web前端不够重视,以为是很low-level,给的待遇也很一般,其实,这都是很 ...
- [RxJS] Resubscribing to a Stream with Repeat
When you complete a stream, there’s no way to restart it, you must resubscribe. This lesson shows ho ...
- c++11 生产者/消费者
下面是一个生产者消费者问题,来介绍condition_variable的用法.当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程.消费者wait 直到生产者 ...
- java基础之成员变量与局部变量
成员变量的含义 局部变量的含义 成员变量与局部变量的区别
- easyui-combobox默认值绑定
$('#combox_role').combobox({ panelHeight: , url: '../../Handler/GetComboxItems.ashx?type=0', valueFi ...
- Linq中的多表左联,详细语句
from m in context.WX_MemberCollectDish join d in context.Dish on m.DishID equals d.DishID into temp ...
- (转)web.config详解之在文件中配置网站默认页面
在<configuration></configuration>中添加下面的配置 <system.webServer> <defaultDocu ...
- oracle时间戳转换
select (to_date('2013-04-09 14:02:15','yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01','yyyy-mm-dd')) ...
- SQL Server Profile:使用方法和指标说明
SQL Server Profiler的中文意思是SQL Server事件探查,一个Sql的监视工具,可以具体到每一行Sql语句,每一次操作,和每一次的连接.感觉这个工具的作用还是很大的,给大家分享一 ...