linux误删文件恢复的方法 ----debugfs

 

应用linux自带工具debugfs恢复误删文件方法演示

1.创建一个文件写入内容并删除

cj@cj-virtual-machine:~/Documents/debugfs_example$ vim 1.c
cj@cj-virtual-machine:~/Documents/debugfs_example$ ls
1.c
cj@cj-virtual-machine:~/Documents/debugfs_example$ rm 1.c

2.查看文件所在分区

cj@cj-virtual-machine:~/Documents/debugfs_example$ df ./
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1       41020640 23113464  15793744  60% /

3.启动debugfs工具

cj@cj-virtual-machine:~/Documents/debugfs_example$ sudo debugfs
debugfs 1.44.1 (24-Mar-2018)
debugfs:  open /dev/sda1
debugfs:  ls -d /home/cj/Documents/debugfs_example/

若提示权限问题无法打开分区,请使用root权限打开debugfs工具。
/home/cj/不可使用~/替代

ls -d 后会出现如下信息,找到删除文件1.c,记录下尖括号内的数值,按q回到debugfs。

 1574187  (12) .    1576545  (4072) ..   <1582211> (16) .1.c.swp   
<1590178> (4044) 1.c   
(END)

然后使用logdump命令,并使用quit退出debugfs如下

debugfs:  logdump -i <1590178>
Inode 1590178 is at group 194, block 6292541, offset 128
Journal starts at block 33979, transaction 115345
No magic number at block 36187: end of journal.
debugfs:  quit

4.恢复文件

cj@cj-virtual-machine:~/Documents/debugfs_example$ sudo dd if=/dev/sda1 of=/home/cj/Documents/debugfs_example/1.c bs=128 count=1 skip=629541
1+0 records in
1+0 records out
128 bytes copied, 0.000390194 s, 328 kB/s

bs值为offset
skip值为block
此时文件恢复成功

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值