在Linux中,我们可以通过ln命令来创建链接文件,具体地,其包含Hard Link硬链接、Sort Link软链接(或称为Symbolic Link符号链接)两种链接文件。本文就Linux的文件存储机制及如何建立链接文件进行介绍
Linux的文件存储机制
对于一个文件来说,其有两部分组成——文件的meta data元数据和文件的内容数据,其中元数据包括大小、用户、权限等文件的相关属性信息。所以Linux将文件的元数据和内容数据分开存储,前者作为inode(索引节点)存储到inode table中,而后者则是存储到磁盘的数据块中。而文件名则和inode num(索引节点号)一起存储在目录项中
当我们访问指定文件名的文件时,系统先通过目录项来获取该文件的inode num,然后通过inode num在inode table中找到指定的inode,由于inode中包含了该文件存放内容数据的data block信息,故可找到该文件的实际内容数据。现在我们知道了,在Linux中文件是通过inode num来标识的,文件名实际上相当于inode num的别名,故文件名是不存放在inode中的
可利用stat命令查看文件的相关信息,如下图所示。除文件名、inode num外,其余信息均来自于该文件的inode