Linux下删除文件恢复
2013-12-11 19:45
316 查看
Linux下删除文件并不是真实的删除磁盘分区中的文件,而是将文件的inode节点中的扇区指针清除,同时释放这些数据对应的数据块,当释放的数据块被系统重新分配时,那些被删除的数据就会被覆盖,所以误删除数据后,应马上卸载文件所在的分区。
每个文件有inode和block组成,inode是文件系统组成的最基本单元,它保存着文件的基本属性(大小、权限、属主组等)和存放的位置信息。而 block用来存储数据。类似key-value,inode就是key,block对应value,通过key查找key对应的value。类似 python的字典。
一般”根”目录的inode值为2,一个分区挂载到一个目录下时,这个”根”目录的inode值为2
下载extundelete
所需依赖包
编译安装extundelte
模拟数据误删除环境
卸载磁盘分区
查询恢复数据信息
上面标记为Deleted是已经删除的文件或目录
开始恢复单个文件
默认恢复到当前目录下的RECOVERED_FILES目录中去
恢复一个目录
全部恢复
校验码与之前的完全一致。
每个文件有inode和block组成,inode是文件系统组成的最基本单元,它保存着文件的基本属性(大小、权限、属主组等)和存放的位置信息。而 block用来存储数据。类似key-value,inode就是key,block对应value,通过key查找key对应的value。类似 python的字典。
查看根目录的inode值
# ls -id / 2 /
一般”根”目录的inode值为2,一个分区挂载到一个目录下时,这个”根”目录的inode值为2
# mount /dev/sdb2 /mnt # ls -id /mnt 2 /mnt
安装extundelete
下载extundelete
# wget http://ncu.dl.sourceforge.net/project/ href="http://www.longgeek.com/tag/extundelete/" target=_blank>extundelete/extundelete/0.2.0/extundelete-0.2.0.tar.bz2
所需依赖包
# yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel
编译安装extundelte
# tar jxvf extundelete-0.2.0.tar.bz2
# cd extundelte-0.2.0
# ./configure
# make; make install
用extundelete恢复文件
模拟数据误删除环境
# mkdir /data
# mkfs.ext4 /dev/sdb2
# mount /dev/sdb2 /data
# cp /etc/hosts /data/
# mkdir /data/test
# echo "extundelete test" > /data/test/geek.txt
# md5sum hosts #获取文件校验码
54fb6627dbaa37721048e4549db3224d hosts
# md5sum test/geek.txt
eb42e4b3f953ce00e78e11bf50652a80 test/geek.txt
# rm -fr /data/*
卸载磁盘分区
# umount /dev/sdb2
查询恢复数据信息
# extundelete /dev/sdb2 --inode 2
..... File name | Inode number |
Deleted status Directory block 8657:
. 2
.. 2
lost+found 11 Deleted
hosts 12 Deleted
test 130817 Deleted
上面标记为Deleted是已经删除的文件或目录
开始恢复单个文件
默认恢复到当前目录下的RECOVERED_FILES目录中去
# extundelete /dev/sdb2 --restore-file hosts
恢复一个目录
# extundelete /dev/sdb2 --restore-directory test/
全部恢复
# extundelete /dev/sdb2 --restore-all
检测是否恢复成功
#md5sum RECOVERED_FILES/hosts #获取文件校验码
54fb6627dbaa37721048e4549db3224d RECOVERED_FILES/hosts
#md5sum RECOVERED_FILES/test/geek.txt
eb42e4b3f953ce00e78e11bf50652a80 RECOVERED_FILES/test/geek.txt
校验码与之前的完全一致。
相关文章推荐
- Linux系统中恢复删除文件的方法
- 【转载】linux中误删除oracle数据文件的恢复操作
- Linux文件误删除恢复操作
- Linux lsof 命令以及恢复删除的文件
- 恢复Linux误删除文件系列之scalpel工具
- 如何恢复 Linux 上删除的文件
- ext3grep恢复Linux下误删除的文件
- linux中通过lsof恢复删除的文件,前题是fd被占用。
- linux删除文件恢复
- 使用 Linux 文件恢复工具恢复rm -rf删除的文件
- 如何恢复 Linux 上删除的文件,第 7 部分
- Linux中误删除数据文件和归档日志的恢复方法
- 【转载】linux中误删除oracle数据文件的恢复操作
- 怎样在 Linux 系统中恢复已删除文件
- linux_文件删除的恢复(rm -rf *)
- linux 恢复删除的文件
- 恢复linux下误删除的文件
- 如何恢复误删除的Linux文件
- Linux命令行删除文件恢复(Ubuntu)
- Linux 恢复误删除的文件