携手创造,共同成长!这是我参加「日新计划 8 月更文应战」的第18天,点击检查活动详情。

大家好,我是 那个从前的少年回来了。10年前我也从前年轻过,如今已步入被淘汰的年龄,但如下幡然醒悟,所以活在当下,每天尽力一点点,来看看2024年的时分自己会是什么姿态吧,2024年的前端又会是什么姿态,而2024年的我国甚至全球又会变成什么姿态,如果你也有主意,那还不赶紧举动起来。等待是夸姣的,可是更重要的是要为夸姣而为之斗争付诸于举动。

原本我想去了解一下硬衔接和软衔接的,可是发现简单的了解一下后,还是需求进一步的了解 Inode。所以再来学学Inode。

以下操作都是在linux体系上进行操作的

检查inode信息

首要我们经过命令来检查一下Inode。

stat aehyok

为学习pnpm了解一点基础:linux的文件存储 inode

经过拜访文件名 aehyok可以发现该文件名所对应的Inode信息

操作体系的硬盘一般分成了两个区域,一个是数据区,用来存放文件数据的;另一个是inode区(inode table),存放inode所包括的信息。

为学习pnpm了解一点基础:linux的文件存储 inode

数据文件贮存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区贮存512字节(相当于0.5KB)。

一个”数据块”(Block)包括多个”扇区”,数据块就是文件存储的最小单位。

还有另外一个当地存储文件的元信息,比方:文件的创建者、文件的创建日期、文件的大小等等。这种贮存文件元信息的区域就叫做inode,中文译名为”索引节点”。

inode包括的文件元信息,具体来说有以下内容:

文件的大小
文件数据块
文件所属设备
文件的Inode id
文件硬链接数,即有多少文件名指向这个inode
文件的读、写、履行权限
文件的U id User id
文件的G id Group id
文件最近拜访时刻
文件最近更改时刻
文件最近改动时刻
创建时刻

总之除了文件名以外的一切信息都保存在inode中。每个inode都有一个号码,操作体系用inode号码来识别不同的文件。

表面上,用户经过文件名,翻开文件。实际上,体系内部这个进程分成三步:首要,体系找到这个文件名对应的inode号码;其次,经过inode号码,获取inode信息;最终,根据inode信息,找到文件数据所在的block,读出数据。

总结

  • 有的时分,文件名包括特别字符,无法正常删去。

  • 可以直接删去inode节点,就能起到删去文件的作用。

  • 移动文件或重命名文件,只是改变文件名,不影响inode号码。

  • 翻开一个文件以后,体系就以inode号码来识别这个文件,不再考虑文件名。

  • 因此,通常来说,体系无法从inode号码得知文件名。

最终下一节再来熟悉和了解一下硬链接和软链接