美文网首页OPS(运维)
linux 误删文件恢复方法(debugfs)

linux 误删文件恢复方法(debugfs)

作者: 修玛哦 | 来源:发表于2018-11-05 15:30 被阅读0次

    应用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
    此时文件恢复成功

    相关文章

      网友评论

        本文标题:linux 误删文件恢复方法(debugfs)

        本文链接:https://www.haomeiwen.com/subject/rzssxqtx.html