在使用winscp上传服务器图片时,由于不小心误删了相似的一个目录下的图片文件,正好在本地有没有这个文件夹的图片备份,所以只好寻找linux(centos)下的文件恢复工具。
在成功恢复完所在目录的图片后,本文做个总结,以备将来使用。
这里使用的工具主要是 photorec . 因为testdisk和其在一个包里面,所以其实是一个下载地址。
1.首先,下载 photorec 软件包。
下载安装前准备工作:
因为要恢复硬盘数据,所以基本的原理即不往要恢复的分区里面写入数据。因此在服务器下输入以下命令查看数据目录所在的系统分区:
df -h
如图所示:
比如我们这里发现要恢复的图片之前位于home目录,那么,我们就要选择根目录下面建一个文件夹,比如 testdisk
2. 进入这个目录,然后将photorec程序下载并上传到这个目录下。
photorec下载地址: http://www.cgsecurity.org/wiki/PhotoRec_CN
3. 解压文件,假如我们能下载的是7.0版本的,那么运行下面的解压命令:
tar jxvf testdisk-7.0-WIP.linux26-x86_64.tar.bz2
cd进入 testdisk-7.0-WIP 目录
4. 运行恢复程序:
由于下载的这个包里面的程序都是静态程序,不需要编译和安装就可以执行,这给我们带来了很大的方便。
那么 我们来看一下目录结构。
我们可以看到:有三个以_static结束的文件及可用的3个工具。 我们这里主要用到了photorec_static。
下面具体开始进行恢复:
1)在目录下运行 : ./photorec_static:得到一下内容:
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER
http://www.cgsecurity.org
Continue previous session ? (Y/N)
说明:这是相关选项:在这里询问是否使用上次的配置选项,我们这里因为有一些定制需求,所以输入 N (因为要恢复的文件选择特定格式)。
2)弹出选择硬盘框,这里就一个硬盘,直接选择,然后继续。选择界面如图所示:
3)主界面如下所示:
4)使用方向键盘选择向右,选择到option,然后回车,这是设置恢复的一些选项,如图所示:
这个界面没什么好说的,就是选择一些性能项,点quit退出此界面。
5)主要来看看下面的 File Opt,这个界面主要选择文件夹类型。因为要我恢复的文件是图片类型,所以我选择了png,jpg和gif ,使用键盘上下查看,左右选择。
文件选择界面如图所示:
选择完后quit。
6)回到主界面,使用上下键选择好分区后,左右键选择search,回车回车即可进行恢复:
得到以下内容:
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER
http://www.cgsecurity.org
4 E extended 3773 22 26 243201 80 63 3846414512
To recover lost files, PhotoRec need to know the filesystem type where the
file were stored:
[ ext2/ext3 ] ext2/ext3/ext4 filesystem
>[ Other ] FAT/NTFS/HFS+/ReiserFS/...
选择硬盘所属格式,我这里属于ext4(由这里可见,photorec可以恢复ext2,ext3,ext4以及FAT,NTFS,HFS等格式的磁盘文件)也可以选择other恢复xfs格式的磁盘
选择后进入下一步:
7)选择要恢复到文件的目录:
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
C when the destination is correct
Q to quit
Directory /recover/testdisk-6.14
>drwxr-xr-x 500 500 4096 19-Nov-2014 13:39 .
drwxr-xr-x 0 0 4096 3-Dec-2014 15:41 ..
drwxr-xr-x 500 500 4096 30-Jul-2013 20:08 ico
drwxr-xr-x 500 500 4096 30-Jul-2013 20:08 jni
drwxr-xr-x 500 500 4096 19-Nov-2014 15:09 l
-rw-r--r-- 500 500 216 12-Nov-2007 00:21 AUTHORS
-rw-r--r-- 500 500 2049 3-Nov-2012 23:23 Android.mk
-rw-r--r-- 500 500 17987 16-Jun-2006 06:01 COPYING
-rw-r--r-- 500 500 154409 30-Jul-2013 19:33 ChangeLog
-rw-r--r-- 500 500 117 13-May-2013 22:02 INFO
-rw-r--r-- 500 500 16670 30-Jul-2013 19:57 NEWS
-rw-r--r-- 500 500 2085 27-Jun-2012 14:46 README
-rw-r--r-- 500 500 344 22-Apr-2008 01:32 THANKS
-rw-r--r-- 500 500 35 30-Jul-2013 20:13 VERSION
-rw-r--r-- 500 500 312 16-Apr-2011 17:21 documentation.html
-rw-r--r-- 500 500 523 30-Jul-2013 20:13 fidentify.8
-rwxr-xr-x 500 500 1199504 30-Jul-2013 20:13 fidentify_static
-rw-r--r-- 500 500 1075 30-Jul-2013 20:13 photorec.8
-rw-r--r-- 0 0 207344 19-Nov-2014 15:08 photorec.ses
-rwxr-xr-x 500 500 2713184 30-Jul-2013 20:13 photorec_static
-rw-r--r-- 500 500 299 1-May-2012 17:43 readme.txt
-rw-r--r-- 500 500 1660 30-Jul-2013 20:13 testdisk.8
-rwxr-xr-x 500 500 2531520 30-Jul-2013 20:13 testdisk_static
这里我要恢复到 l 目录:选择对应目录,按C键确认,Q键退出。这里C键确认。
8)开始进行恢复了,恢复界面如下所示:
现在已经进行恢复了,等状态完成结束后,我们就能进入到 对应的 testdisk 对应的 刚才选择目录下查看恢复文件了。
需要注意的是以下几点:
A.恢复文件的目录是 类似recup_dir.1的目录存储的,到达一定数量后会按数字一次新建目录。
B. 要恢复目录区必须得确保有足够的磁盘空间供恢复使用
C. 恢复后文件有可能后缀会稍有差别,这是我遇到的情况,有可能之前是png后缀的图片恢复后是gif格式。这有可能和文件头有关系。
D. 恢复后的文件采用系统规则命名,所以文件名有所改变。
就这么多了,希望您的顺利恢复完成。
本文原创 91CTO,转载请注明出处。
转自:http://www.91cto.com.cn/detail/udepnxs/