| 
  • Increase font size
  • Decrease font size
  • Default font size
  • default color
  • red color
  • green color
香农数据安全在线
Jul 30th
首 页 arrow 数据恢复 arrow 文件恢复 arrow 如何恢复Linux上删除的文件:第2部分

如何恢复Linux上删除的文件:第2部分 输出PDF
作者: 转载   
2007-12-24
除了普通文件之外,UNIX/Linux 中还存在一些特殊的文件,包括目录、字符设备、块设备、命名管道、socket 以及链接;另外还存在一些带有文件洞的文件,这些特殊文件的恢复是和其存储机制紧密联系在一起的,本文将从这些特殊文件的存储原理和机制入手,逐步介绍这些特殊文件的恢复方法。

冯 锐 ( 此邮件地址受spam bots保护,需要使用 Javascript 功能来查阅。 ), 软件工程师, IBM
郑 勇 ( 此邮件地址受spam bots保护,需要使用 Javascript 功能来查阅。 ), 软件工程师, IBM

在本系列文章的第一部分中,我们介绍了 ext2 文件系统中的一些基本概念和重要数据结构,并通过几个实例学习了如何恢复已经删除的文件,最后通过修改 2.6 版本内核中 ext2 文件系统的实现,解决了大文件无法正常恢复的问题。

通过第一部分的介绍,我们已经知道如何恢复系统中删除的普通文件了,但是系统中还存在一些特殊的文件,比如我们熟悉的符号链接等。回想一下在本系列文章的第一部分中,目录项是使用一个名为 ext2_dir_entry_2 的结构来表示的,该结构定义如下:


清单1. ext2_dir_entry_2 结构定义
               
struct ext2_dir_entry_2 {
        __le32  inode;                  /* 索引节点号 */
        __le16  rec_len;                /* 目录项的长度 */
        __u8    name_len;               /* 文件名长度 */
        __u8    file_type;              /* 文件类型 */
        char    name[EXT2_NAME_LEN];    /* 文件名 */
};
 


其中 file_type 域就标识了每个文件的类型。ext2 文件系统中支持的文件类型定义如下表所示:


表 1. ext2 文件系统中支持的文件类型
file_type  宏定义  说明 
1  EXT2_FT_REG_FILE  普通文件 
2  EXT2_FT_DIR  目录 
3  EXT2_FT_CHRDEV  字符设备 
4  EXT2_FT_BLKDEV  块设备 
5  EXT2_FT_FIFO  命名管道 
6  EXT2_FT_SOCK  socket 
7  EXT2_FT_SYMLINK  符号链接 


对应的宏定义在 include/linux/ext2_fs.h 文件中。其中,命名管道和 socket 是进程间通信时所使用的两种特殊文件,它们都是在程序运行时创建和使用的;一旦程序退出,就会自动删除。另外,字符设备、块设备、命名管道和 socket 这 4 种类型的文件并不占用数据块,所有的信息全部保存在对应的目录项中。因此,对于数据恢复的目的来说,我们只需要重点关注普通文件、符号链接和目录这三种类型的文件即可。



最近更新 ( 2008-07-08 )
 
< 上一篇   下一篇 >

数据恢复服务商