linux文件系统之i节点详解
2011-04-28 16:59
686 查看
i节点即index node索引节点。接下来的是第五个磁盘块了,480个i节点,每个i节点占用32个字节,总共占用480*32/1024=15个磁盘块,现在再重新理清一下磁盘块的关系了:
0块:引导块,每块1024B
1块:超级块
2块:i节点位图
3块:逻辑块位图
4...18:i节点区块
19块:数据块,刚好和Linux文件系统分析之二中提到的数据块开始于第19块吻合。
下面分析第一个i节点,它位于块号为4的块中,即是第五块了。
00001000h: ED 41 00 00 80 00 00 00 9E AA 2E 84 00 08 13 00 ; 鞟..?..灙.?...
00001010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
为分析这二进制中的数据涵义,下面列出i节点结构,这个i节点其实就是表示根目录了。
struct d_inode{
unsigned short i_mode;
unsigned short i_uid;
unsigned long i_size;
unsigned long i_time;
unsigned char i_gid;
unsigned char i_nlinks;
unsigned short i_zone[9];
}
刚好是32个字节,
i_mode表示文件类型和属性,这里是41ED即0100.0001.1110.1101
见stat.h文件中的定义:
第一个四位0100表示这是一个目录文件,确实如此,这就是根目录。
接下来的三位000表示文件的属性,执行或搜索时是否设置uid
最后面的九位1.1110.1101表示rwxrwxrwx了,这个用过linux的都知道
i_uid为0000,表示这个文件的所有者的uid是0,通常root用户的uid就是0
i_size为00000080,表示这个文件的长度为80H=128个字节,后面可以验证。
i_time为842EAA9E,表示这个文件的创建时间
i_gid为00,表示该文件所有者所在group的id为0
i_nlinks为08,表示有8个文件目录项指向该i节点
最后一个13H即19表示该文件的数据块号,后面都是0,表示该文件在一个数据块中存得下,不用更多的数据块。
分析之四将追溯到这个i节点的数据块即19块,用以说明目录项的数据结构。
原文链接:http://www.caravelsoft.com/linux-special/tech-centers/unix-linux-plat/linux-system-analysis/67-linux-filesystem-inode/
0块:引导块,每块1024B
1块:超级块
2块:i节点位图
3块:逻辑块位图
4...18:i节点区块
19块:数据块,刚好和Linux文件系统分析之二中提到的数据块开始于第19块吻合。
下面分析第一个i节点,它位于块号为4的块中,即是第五块了。
00001000h: ED 41 00 00 80 00 00 00 9E AA 2E 84 00 08 13 00 ; 鞟..?..灙.?...
00001010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
为分析这二进制中的数据涵义,下面列出i节点结构,这个i节点其实就是表示根目录了。
struct d_inode{
unsigned short i_mode;
unsigned short i_uid;
unsigned long i_size;
unsigned long i_time;
unsigned char i_gid;
unsigned char i_nlinks;
unsigned short i_zone[9];
}
刚好是32个字节,
i_mode表示文件类型和属性,这里是41ED即0100.0001.1110.1101
见stat.h文件中的定义:
第一个四位0100表示这是一个目录文件,确实如此,这就是根目录。
接下来的三位000表示文件的属性,执行或搜索时是否设置uid
最后面的九位1.1110.1101表示rwxrwxrwx了,这个用过linux的都知道
i_uid为0000,表示这个文件的所有者的uid是0,通常root用户的uid就是0
i_size为00000080,表示这个文件的长度为80H=128个字节,后面可以验证。
i_time为842EAA9E,表示这个文件的创建时间
i_gid为00,表示该文件所有者所在group的id为0
i_nlinks为08,表示有8个文件目录项指向该i节点
最后一个13H即19表示该文件的数据块号,后面都是0,表示该文件在一个数据块中存得下,不用更多的数据块。
分析之四将追溯到这个i节点的数据块即19块,用以说明目录项的数据结构。
原文链接:http://www.caravelsoft.com/linux-special/tech-centers/unix-linux-plat/linux-system-analysis/67-linux-filesystem-inode/
相关文章推荐
- linux文件系统之i节点详解
- Red Hat linux 6.5 学习使用笔记《二》文件系统及命令详解
- Linux操作系统文件系统基础知识详解
- Linux操作系统文件系统基础知识详解
- Linux 创建文件系统及挂载文件系统流程详解
- 【linux相识相知】磁盘分区及文件系统管理详解
- Linux操作系统文件系统基础知识详解(转)
- Linux设备驱动开发详解-Note(10)--- Linux 文件系统与设备文件系统(2)
- linux-011文件系统节点操作函数解析
- Linux 文件系统基础——块、i节点
- unlink命令_Linux unlink 命令用法详解:系统调用函数unlink去删除指定的文件
- Linux操作系统文件系统基础知识详解
- Linux 创建文件系统及挂载文件系统流程详解
- Linux基础入门及系统管理01-Linux文件管理命令详解07
- linux iscsi 配置过程详解--包括自动挂载文件系统
- Linux操作系统文件系统基础知识详解
- Linux系统中的文件类型及文件扩展名详解
- Linux操作系统文件系统基础知识详解
- Linux操作系统文件系统基础知识详解
- Linux操作系统文件系统基础知识详解