Linux恢复误删除的文件

恢复条件

众所不一定周知,在系统上删除的文件并不会真正的删除,只是把指向该文件的索引给删除了,当你再次写入数据时,会占用该文件的存储空间。此时,你的文件才是彻底被删除了。所以,只要你在删除文件之后,不进行大量写入操作(文件上传),并且在磁盘分区中找到该文件的原始数据,那么就可以进行文件恢复。
使用以下方法的前提是文件挂载的目录存储类型为ext4在这里插入图片描述

步骤

  1. 首先找到原文件存储路径,可以使用pwd查看当前目录的路径,然后使用df查看所属系统分区
    在这里插入图片描述

  2. 然后使用系统自带的还原工具debugfs来修复,并运行下列指令来查找被删除文件的ID(open后面为你的分区名,ls -d 后面是你的路径名),然后再利用执行logdump -i <id>得到以下信息,block和offset的信息一定要记住,然后quit退出debugfs
    在这里插入图片描述

  3. 使用以下命令dd if=/dev/vda1 of=/home/test/test.zip bs=3145797count=1 skip=256进行文件恢复,其中bs是block的值,skip是offset的值
    在这里插入图片描述
    拓展 :
    dd命令后可以跟的参数及含义
    if=文件名:输入文件名,默认为标准输入。即指定源文件。
    of=文件名:输出文件名,默认为标准输出。即指定目的文件。
    ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
    skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
    seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值