在工作中由于不小心把自己两个周的代码(切记上传SVN是个好习惯啊~~~~~~~)误删除了。
浪费一天半的时间试用了各种工具终于找到了下面这种方法可以快速省时省力%……#%¥%!@……¥……##¥(赞扬之词)的完成,
为了大家在遇到这种情况的时候能够快速的恢复文件,特与大家分享之。(掌声在哪里。。。。)
操作系统:Ubuntu(安装于virtualbox中)
文件系统:ext4
使用软件:ext4magic(超赞)
操作步骤详细(前提是你的系统木有安装ext4magic, 如果是已经装了可以直接跳到第7步恢复即可):
1、误删有用文件
2、为了防止已删除损坏,立即关闭系统
3、使用Ubuntu的镜像文件启动系统(我使用的是ubuntu-14.04.4-desktop-amd64.iso,系统起来之后选择试用注意不是安装,运行系统)
4、然后打开terminal运行【sudo apt-get update】更新
5、使用命令【sudo apt-get install ext4magic】安装工具。(这个嘛看运气还是看人品不知道,反正我是没有找到安装文件,当然也可能是没有追加源(⊙﹏⊙)b)
6、如果第5步没有执行成功则需要下载ext4magic的源码自己进行编译,命令详细如下:
sudo apt-get install e2fslibs-dev
sudo apt-get install libblkid-dev
sudo apt-get install uudi-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libbz2-dev
sudo apt-get install libmagic-dev
↑安装相关依赖库
cd ext4magic目录
./configure --enable-expert-mode
make & make install
7、插入U盘,并在virtualbox里面挂载之【sudo mount /dev/sdb1 /mnt】
8、sudo ext4magic /dev/sda1 -a $(date -d "-24hours" +%s) -f /home/work/src -l(查看24小时内删除的文件)
9、sudo ext4magic /dev/sda1 -a $(date -d "-24hours" +%s) -f /home/work/src -r -d /mnt/recovery/ (恢复24小时内删除的文件)
同时还找到了网友介绍的各种Linux下数据恢复的工具,extundelete、photorec和foremore恢复数据花费的时间特别长(虚拟机有150G。。。),
恢复出的数据也非常不友好,testdisk倒是可以查看某个目录下删除的文件,但好像不支持ext4,因为我用testdisk查看文件夹时提示文件已损坏。
★ext4magic的下载地址:https://sourceforge.net/projects/ext4magic/
有的同学可能无法下载,可以下载我提供的资源(小私心,要1分)。
http://download.csdn.net/detail/huanmengqq/9611444
PS:感叹一下,墨菲定律(如果你担心某种情况发生,那么它就更有可能发生)真是他X的准啊
由于这次项目使用的是cmake,所以会新建一个build目录用于存放编译用的所有文件,
因此当每次修改了CMakeList文件的时候就需要使用【rm -rf *】命令删除build文件夹下的所有文件,
当时在编译的时候就担心,不要给误删除了,结果还真是就发生了,浪费了一天半的时间恢复数据,也真是醉了。
当时打死自己的心都有了。