![](https://img-blog.csdnimg.cn/ce22776aebed4784893fa9a9cacfee68.png)
![](https://img-blog.csdnimg.cn/a574690ef8fb4b1489edf8c1b9691c24.png)
![](https://img-blog.csdnimg.cn/0d3369d55ec649039f78aa4c93724759.png)
![](https://img-blog.csdnimg.cn/17888a7100dc4e53965b06fdebc57742.png)
-
文件存储在硬盘上, 硬盘的最小存储单位叫做扇区sector ,每个扇区存储512个字节(0.5)kb,系统读取文件时不会一个一个扇区的读,而是一次性连续读取多个扇区, 即一次性读1个‘块’(block) ,这种由多个扇区组成的块,是文件存储的最小单位。 块的大小,最常见的是4kb,即连续八个sector组成一个块
-
文件数据都存储在块中,而文件的创建者,创建日期,文件大小等等文件的元信息存储的区域叫做inode,中文译名“索引节点”
1.inode的大小以及内容
可以用stat命令查看某个文件的inode信息,
每个inode节点的大小,一般是128字节或256字节,inode节点的总数,在硬盘格式化的时候就会给定,
一般是1kb或2kb就设置一个inode,每个硬盘中inode table的大小大概会占整块硬盘的
12.8%
![](https://img-blog.csdnimg.cn/c057213efe8e4723ab3dcb72c5d1ba16.png)
![](https://img-blog.csdnimg.cn/7e5c432b8ba94a8382ad6fab45614b56.png)
2.inode号码
每个inode都有一个号码,操作系统用inode号码来识别不同的文件(Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件,对于系统来说文件名只是inode号码便于识别的别名或者绰号。
表面上,用户通过文件名,打开文件实际上,系统内部这三个过程分为
(通过ls -i命令查取文件inode号)
首先,系统找到这个文件名对应的inode号码;
其次,通过inode号码,获取inode信息;
最后,根据inode信息,找到文件数据所在的block,读出数据;
![](https://img-blog.csdnimg.cn/86f5f0b4f4494d68963a1557bd2e2e72.png)
3.inode的特殊作用
![](https://img-blog.csdnimg.cn/843e944db0bf44829f1f3eb64177cb86.png)
4.当Linux文件系统中inode被耗尽,剩余空间则无法创建新文件(演示)
挂载一个10M大小的tmpfs到/mnt
![](https://img-blog.csdnimg.cn/fba983c40db344da8e9042ebe3914b4b.png)
创建大量空文件耗尽inode
![](https://img-blog.csdnimg.cn/8e16fdcae99241a0a0a9e140889ca1ff.png)