linux下面误删文件的恢复(附带简单原理介绍)

在文件操作中,有时候我们会经常用rm -f、或者是delete来误删文件。这时候不必惊慌,若被你误删的文件比较小,是可以比较简单的恢复的回来的,但是若被你删除的文件过大,文件被存放在linux的多个分区中,那么可能就要请专业的数据恢复团队来恢复了。
在进行操作之前,我们来了解一下linux的文件系统。

我们都知道,linux下面的文件系统是用文件名来进行文件的查找的,但是为了提高查找速度和方便多用户对于文件的共享,文件名往往不是直接对应文件的物理位置,而是要经过一个索引,如下图所示:

文件存储示意图
在日常生活中,我们使用的linux往往是单用户,然后一旦我们删除一个文件,这个文件其实并没有在系统中消息,系统只是把这个文件的索引节点给删除了。因此用户根据用户名就找不到文件地址了。也正因为这个原因,我们才可以用工具把文件恢复。
至于恢复的思路,相信你已经知道,那就是要找到文件所在的区块(也就是文件的物理地址)

下面进行文件的恢复(这里用的是系统自带的debugfs来进行文件系统操作)

(1)首先在用户目录下创建test.txt文件
在这里插入图片描述
(2)然后用rm -f 来删除文件,验证文件已被删除,用ls -l 查看已经不存在了

(3)接下来在root用户下调用debugfs系统工具
在这里插入图片描述
(4)我们可以开多一个X-shell来查看目录所在的文件系统
在这里插入图片描述
(5)知道文件系统后,我们就可以利用系统函数打开该文件系统来查看,是否存在我们删除的文件。
在这里插入图片描述
在这里插入图片描述
(6)然后利用文件名前面的号码,来查找该文件所在的区块。
在这里插入图片描述
(6)知道区块和偏移值后,我们就可以利用文件拷贝的命令dd来进行区块和目录之间的拷贝(更加详细的dd操作参考链接:https://www.cnblogs.com/ginvip/p/6370836.html)
在这里插入图片描述
(7)做到这一步,已经完成了文件的恢复。

补充,linux中还有直接檫除文件磁盘的指令,例如wipe,这种就是可以做到直接删除而且不可恢复的效果。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值