rm后恢复文件
当误删文件之后,为了损失最小,第一件事就是卸载误删文件的分区,以只读方式挂载,如果是系统分区(根分区),则要重启进入单用户模式,并以只读方式挂载分区。也可以拆下硬盘挂载在其他系统上进行恢复。
# 重新挂载为只读分区
mount -o ro,remount /dev/sda2
或
mount -o remount,ro /dev/sda2
如果是根分区,重启进入单用户模式。参考:Linux各版本root本地密码破解
进入单用户模式之后mount -o ro,remount /
重新挂载为只读分区,然后再进行恢复,用什么软件就要看情况了,可以U盘,可以放其他分区(根分区此时无法写入了),也可以挂载在其他系统下恢复。
利用进程缓存恢复文件
http://www.cnblogs.com/justmine/p/10359186.html
extundelete(功能强大、推荐)
项目主页:http://extundelete.sourceforge.net
支持ext3和ext4格式的分区
dumpe2fs -V
可以看到e2fsprogs的版本,要大于1.41对ext4支持才好。
安装:
wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure && make && make install
cd ~
使用方法:http://extundelete.sourceforge.net/options.html
ext4magic(对ext4支持好、推荐)
项目主页:https://sourceforge.net/projects/ext4magic
支持ext3和ext4格式的分区
wget https://ncu.dl.sourceforge.net/project/ext4magic/ext4magic-0.3.2.tar.gz
tar zxvf ext4magic-0.3.2.tar.gz
cd ext4magic-0.3.2
yum install -y e2fsprogs-devel libuuid-devel libblkid-devel file-devel
# 安装开发包,没有安装成功就不用继续下一步了,具体要安装什么看INSTALL文件说明。
./configure && make && make install
cd ~
使用方法:Ubuntu Man手册
(1)、基于时间恢复(以1970-01-01 00:00:00 UTC的秒数开始计算)
例:ext4magic /dev/sdb1 -d /home -a 1450086000 -m 3
该时间通过date命令获取当前时间秒数减去3600秒得来。
(2)、整个文件系统恢复
例:ext4magic /dev/sdb1 -d /home -m
(3)、指定文件恢复
例:ext4magic /dev/sdb1 -r -f grub/grub.conf -d /home
指定文件恢复时,需要注意指定恢复文件的路径书写问题。去掉挂载点目录指定文件目录
ext3grep
项目主页:https://code.google.com/archive/p/ext3grep
只支持ext3格式的分区
安装:
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ext3grep/ext3grep-0.10.2.tar.gz
tar zxvf ext3grep-0.10.2.tar.gz
cd ext3grep-0.10.2
./configure && make && make install
cd ~
使用方法:http://easwy.com/blog/archives/undelete-directories-files-on-ext3-filesystem-via-ext3grep
google论坛:https://groups.google.com/forum/#!forum/ext3grep
参考资料:
http://www.cnblogs.com/zhouyu629/p/3734494.html
http://crazy123.blog.51cto.com/1029610/1178991