linux学习问题,关于i-node,及目录树的概念。望各位老鸟见教,另需推荐一些气氛好的linux学习社区或论坛
每个档案都会将他的权限不属怅记彔到文件系统的i-node中,丌过,我们使用的目录树却是使用文件名来记彔,因此每个档名就会连结到一个i-node。这个属性记录,就是有多少不...
每个档案都会将他的权限不属怅记彔到文件系统的 i-node 中,丌过,我们使用的目录树却是使用文件名来记彔, 因此每个档名就会连结到一个 i-node。 这个属性记录,就是有多少不同的档名连结到相同的一个 i-node 号码去就是了。
这句话什么意思,目录树的文件名的概念?节点i-node又是什么? 展开
这句话什么意思,目录树的文件名的概念?节点i-node又是什么? 展开
3个回答
展开全部
目录树是从用户的角度看,硬盘上呈现了一个能够在深度和宽度上广泛延伸的目录树结构。
unix把磁盘块分为三部分超级块,i-节点表,数据区。
i-节点表,存放着所有i-节点信息,每个i-节点信息里都有一个i-节点号,还有一个存放磁盘块号的数组(存放这个i-节点号所指的文件的内容存放的磁盘块号),stat结构(文件属性就放在这)。
其实目录和普通文件的内容都放在磁盘块上(数据区分成若干的磁盘块,每块都有编号)。
这样普通文件和目录怎么区分呢?
stat结构里有标志位区分i-节点所指的文件是普通文件,目录,块文件,字符文件,管道文件,还是套接字文件。
目录里只存放文件名与i-节点号。这样通过文件名--------> i-节点号---------> 磁盘块号-------->读;
就能读相应的文件里的内容
详细内容可以参考《unix环境高级编程》4.14章节
关于学习linux或者unix不建议泡论坛,建议看书,多看多写,有了难题去发帖,csdn,chinaunix都挺好的。
unix把磁盘块分为三部分超级块,i-节点表,数据区。
i-节点表,存放着所有i-节点信息,每个i-节点信息里都有一个i-节点号,还有一个存放磁盘块号的数组(存放这个i-节点号所指的文件的内容存放的磁盘块号),stat结构(文件属性就放在这)。
其实目录和普通文件的内容都放在磁盘块上(数据区分成若干的磁盘块,每块都有编号)。
这样普通文件和目录怎么区分呢?
stat结构里有标志位区分i-节点所指的文件是普通文件,目录,块文件,字符文件,管道文件,还是套接字文件。
目录里只存放文件名与i-节点号。这样通过文件名--------> i-节点号---------> 磁盘块号-------->读;
就能读相应的文件里的内容
详细内容可以参考《unix环境高级编程》4.14章节
关于学习linux或者unix不建议泡论坛,建议看书,多看多写,有了难题去发帖,csdn,chinaunix都挺好的。
展开全部
你可以这样理解,Linux 下面文件没有文件名,所有文件都是 1、2、3、4、5 (当然实际不是这样)这种编号来进行管理。
这个编号就是 inode 。
对于计算机来说,这是完美的管理方式。但对于人类来说,谁知道这堆数字到底是哪个文件啊?
解决办法就是再准备一个大表。这个表里面记录文件名对应 inode 。如果人类要看文件列表,就给他看这个文件名的表而不是 inode 编号表,之后人类说要读取哪个文件时,系统会自动按照这个文件名去找 inode 。再根据这个 inode 来找到文件本体进行读写操作。
这个你要理解一个特点就是,文件名、目录树的保存是和整个 inode 完全独立的,文件名和目录树里面不光保存文件名,还要保存这个文件名对应的 inode 编号。实际系统的文件管理是基于 inode 进行管理的。所以硬链接文件其实就是数据库里面多个文件名的 inode 信息相同。
就好象某个学校的学生管理完全基于学号,每个学生都有一个独立的编号。你找 3 年级 1 班张小明的数学成绩,那么他的学号是 030108,数学成绩 98;如果你找学生会生活委员的语文成绩,学号是 030108,成绩是 94 。学号一样,其实是一个人。但他有两个称呼。
这个编号就是 inode 。
对于计算机来说,这是完美的管理方式。但对于人类来说,谁知道这堆数字到底是哪个文件啊?
解决办法就是再准备一个大表。这个表里面记录文件名对应 inode 。如果人类要看文件列表,就给他看这个文件名的表而不是 inode 编号表,之后人类说要读取哪个文件时,系统会自动按照这个文件名去找 inode 。再根据这个 inode 来找到文件本体进行读写操作。
这个你要理解一个特点就是,文件名、目录树的保存是和整个 inode 完全独立的,文件名和目录树里面不光保存文件名,还要保存这个文件名对应的 inode 编号。实际系统的文件管理是基于 inode 进行管理的。所以硬链接文件其实就是数据库里面多个文件名的 inode 信息相同。
就好象某个学校的学生管理完全基于学号,每个学生都有一个独立的编号。你找 3 年级 1 班张小明的数学成绩,那么他的学号是 030108,数学成绩 98;如果你找学生会生活委员的语文成绩,学号是 030108,成绩是 94 。学号一样,其实是一个人。但他有两个称呼。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询