Linux中误删文件的恢复方法

Linux中误删文件的恢复方法

做为Linux的从业者大家对"rm -rf"这个命令肯定又爱又恨。

他的简洁霸气,势不可挡,可谓"十步杀一人,千里不留行",

他干净彻底,不留痕迹,狠狠按下回车键后,“事了拂衣去,深藏功与名”。

但是,这个世界总是遗憾常有,而后悔药不常有,删错后多半会呆呆地盯着屏幕,莫名奇妙地会"哀吾生之须臾,羡长江之无穷"。

今天小编就给大家介绍的就是一款好用的"后悔药"——extundelete

准备工作

下载安装包:http://extundelete.sourceforge.net/

环境准备:

[root@lh 1]# yum -y install e2fsprogs-libs e2fsprogs e2fsprogs-devel
[root@lh 1]# rpm -q e2fsprogs-libs e2fsprogs e2fsprogs-devel

安装extundelete:

[root@lh 1]# tar jxvf extundelete-0.2.4.tar.bz2
[root@lh 1]# cd extundelete-0.2.4
[root@lh extundelete-0.2.4]# ./configure && make && make install 

制造车祸现场

注:如果您已经误删了文件请跳过此章

格式化一个分区

[root@lh 1]# mkfs.ext4 /dev/sdc1

挂载并制造一些文件

[root@lh 1]# mkdir /diskc
[root@lh 1]# mount /dev/sdc1 /diskc
[root@lh 1]# cd /diskc
[root@lh diskc]# cp /etc/passwd ./
[root@lh diskc]# cp /bin/ls ./
[root@lh diskc]# mkdir mlryj
[root@lh diskc]# echo "Welcome to 麻辣软硬件" > mlryj/1.txt

查看制造文件的md5值

[root@lh diskc]# md5sum passwd ls mlryj/1.txt
4b2c3e7fb5baf6f98307068d9c337620  passwd
c75a745aeabe3449655f2e7d3b081791  ls
dd69abb0cab322377ac06f6648f9ec8a  mlryj/1.txt

查看文件详情

[root@lh diskc]# ll
总用量 140
drwx------ 2 root root  16384 3月  14 17:40 lost+found
-rwxr-xr-x 1 root root 117024 3月  14 17:43 ls
drwxr-xr-x 2 root root   4096 3月  14 17:43 mlryj
-rw-r--r-- 1 root root   1935 3月  14 17:43 passwd

删除所有文件

[root@lh diskc]# rm -rf *

##找回被删除的文件
###取消挂载

[root@lh 1]# umount /diskc

###可用的命令

此时使用如下三个命令:

1.查看可以恢复哪些文件:

extundelete /dev/sdc1 --inode 2

2.恢复某文件:

extundelete /dev/sdc1 --restore-file somefile

3.恢复某目录:

extundelete /dev/sdc1 --restore-directory /somedir

4.恢复所有文件:

extundelete /dev/sdc1 --restore-all

命令执行后恢复后的文件存储在当前文件夹下的RECOVERED_FILES目录中
###文件恢复及验证

恢复单个文件和目录就不再赘述了,我们直接恢复所有文件

[root@lh 1]# extundelete /dev/sdc1 --restore-all
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 64 groups loaded.
Loading journal descriptors ... 55 descriptors loaded.
Searching for recoverable inodes in directory / ... 
5 recoverable inodes found.
Looking through the directory structure for deleted files ... 
0 recoverable inodes still lost.
[root@lh 1]# ls
RECOVERED_FILES

查看文件是否成功找回

[root@lh 1]# cd RECOVERED_FILES/
[root@lh RECOVERED_FILES]# ls -l
总用量 124
-rw-r--r-- 1 root root 117024 3月  14 17:49 ls
drwxr-xr-x 2 root root   4096 3月  14 17:49 mlryj
-rw-r--r-- 1 root root   1935 3月  14 17:49 passwd
[root@lh RECOVERED_FILES]# md5sum passwd ls mlryj/1.txt
4b2c3e7fb5baf6f98307068d9c337620  passwd
c75a745aeabe3449655f2e7d3b081791  ls
dd69abb0cab322377ac06f6648f9ec8a  mlryj/1.txt
[root@lh RECOVERED_FILES]# cat mlryj/1.txt 
Welcome to 麻辣软硬件

我们可以看到,文件的md5值和内容都没有变化,恢复很成功了。
但是,虽然有此利器,我们使用"rm -rf"时,脑袋还是要谨慎一些,不要冒无谓的风险。至少从现在看:
只是目录的"总用量"和恢复的文件权限发生了变化。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值