linux上的inode编号是索引节点的编号。理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。
相关文章
- 07-24在Android上检测温度刻度的首选方法是什么?
- 07-24c – Vulkan中的Queue系列实际上是什么?
- 07-24[转帖]iPad Pro那个高大上的激光雷达,LiDAR是什么?
- 07-24Linux上的Python SQLAlchemy内存泄漏
- 07-24既然在Android上不推荐使用SSLSocketFactory,那么处理客户端证书身份验证的最佳方法是什么?
- 07-24《制造企业的核心需求是什么?》(上)--和谐生产方式百题22
- 07-24在电脑上通过Linux命令给手机安装apk的两种方法
- 07-24监控github上新增的cve编号项目漏洞,推送钉钉或者server酱
- 07-24关于linux上cron服务的python封装工具
- 07-24Dashboard究竟是什么,它在数据展示上的优势何在?