本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
接上篇硬链接与软链接介绍
inode
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
Inode相当于文件指针,指向了物理硬盘的一个区块。事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失.
inode中的内容:
-
文件的字节数,块数
-
文件拥有者的User ID
-
文件的Group ID
-
文件的读、写、执行权限
-
文件的时间戳,共有三个:1. ctime指inode上一次变动的时间。2. mtime指文件内容上一次 变动的时间。3. atime指文件上一次打开的时间。
-
链接数,即有多少文件名指向这个inode
-
文件数据block的位置
-
inode编号(对应数组的下标)
inode编号是很重要的,当系统在找一个文件时,步骤如下:
1.通过文件名先找到文件的inode编号
2.通过inode编号找到文件inode信息
3.通过inode信息中的block指针找到文件内容。
硬链接与软链接的区别和联系
区别
联系
总结
- 当源文件的软连接和硬链接同时存在时,删除软连接对源文件和硬链接无影响;
- 当源文件的软连接和硬链接同时存在时,删除硬连接对源文件和硬链接无影响;
- 对于目录,不可以创建硬链接,但可以创建软连接;
- 对于目录的软链接是生产场景运维中常用的技巧。