参考网上大佬们的文档自己学习做笔记总结!!!
一.简介
Inode的创建在文件系统进行分区格式化之后创建,在此时文件系统会分成两部分,一部分是inode,一部分是block,inode用来存储文件的属性权限等信息,block用来存储文件的内容信息。
二.详细介绍
1.查看inode信息
ls -li 文件名
stat 文件名
inode主要包含信息 |
文件的大小 |
文件的设备类型 |
文件的类型 |
文件的硬链接数 |
文件的权限 |
文件的属主和属组 |
文件的atime,ctime和mtime |
文件的inode号码 |
文件的block位置信息 |
2.查看block信息 ![](https://i-blog.csdnimg.cn/blog_migrate/3162c00f8ccc734e32e417ff8f46a302.png)
相当于书本中目录所指向的内容,用于存储文件的具体内容,在文件系统创建后便生成。
特点说明:
存放数据信息
默认大小为4k,可以进行调整
较大文件,占用多个block
较小文件,如果一个block存不满,剩余空间无法存别的文件,只能浪费
创建一个文件至少占用一个inode和一个block(非空文件)
磁盘读取数据时按照block为单位读取,每读一次消耗一次磁盘I/O
3.文件查找顺序
在linux系统中,主要使用inode号码来标识文件,而为了可读性从而有了文件名,在系统的内核中是不用文件名来唯一标识的。在inode存储的信息中,是不包含文件名称的,文件名称存储在目录的block中,也就是文件名称和文件inode号码的一个对应关系。
在进行查找的时候,如下所示:
在inode里存储的信息都是独一无二,从而不会将文件名存储在inode中,一个文件可以对应多个文件名,也就是硬链接的存在,从而不能将文件名存储在inode中。
4.inode和block总结
磁盘分区格式化成文件系统之后,inode与block大小及数量均确定 |
inode用来存放文件的属性和指向文件实体的指针,文件名存放在目录的block中 |
访问的时候,通过文件名,找到inode号,然后验证权限,最后读取到文件的block内容 |
inode默认大小为256字节,block大小1,2,4K,默认为4k,boot分区除外 |
一个文件至少占用一个inode和block,多个文件可以指向同一个inode,也就是硬连接 |
一个block只能被一个文件使用,block太大,浪费空间,不能给其他文件使用 |