恢复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 ...
随机推荐
- phpcms:一、安装及新建模板
1.复制D:\WWW\phpcms\phpcms\templates\目录下的default文件粘贴在当前目录下,并重命名为新模板名字(youpinzhiyuan2012) 2.打开D:\WWW\ph ...
- pyqt例子下拉列表
#!/usr/bin/env python # -*- coding: utf-8 -*- from PyQt4.QtCore import Qt from PyQt4.QtGui import QC ...
- 【git 问题小说说】 git add时候报错:LF will be replaced by CRLF
本文来自:http://blog.csdn.net/loovejava/article/details/22114477 最近工作在window平台,不怎么使用命令行了所以导致很多命令都不熟悉啦 哈哈 ...
- java接口传递数据的实例
我们要讲E类中的数据变化通知A类,这样通过接口F来实现.具体原理就是E的每次数据改变都让其通知接口:而A类继承接口,所以每次E的调用接口都会触发A类的数据更改事件的触发. 首先创建一个类E: publ ...
- (转)javascript组件开发方式
作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力下,渐渐的也摸索了一套组件的编写方式. 下面我们来谈谈,在现有的知识体系下,如 ...
- Codeforces Round #350 (Div. 2)A,B,C,D1
A. Holidays time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- hdu4296 贪心
E - 贪心 Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:32768KB 64bit I ...
- C++深层复制解决指针悬挂
代码: #include <iostream> #include <cstring> using namespace std; class mystring{ public: ...
- Java如何获取当前的jar包路径以及如何读取jar包中的资源
写作业的时候要输出一个record.dat文件到jar包的同级目录,但是不知道怎么定位jar包的路径.百度到的方法不很靠谱,所以在这里记录一下. 一:使用类路径 String path = this. ...
- rman全库恢复到不同主机,不同实例名,不同目录下
一.配置目标主机的ip.hostname及与源端主机的连通性 1.配置目标主机IP 使用图形界面配置IP: administration----network---修改IP(指定静态IP) deact ...