索引结点(inode)是文件系统中的一个重要概念,它用于存储文件的元数据信息,包括文件的权限、所有者、大小、创建时间、修改时间等。在索引结点中,文件链接计数(link count)是一个表示该文件有多少个硬链接的整数值。
硬链接是指多个文件名指向同一个索引结点的情况。当我们使用ln命令创建硬链接时,实际上是在文件系统中创建了一个新的文件名,并将其链接到原始文件的索引结点上。这样,原始文件和新文件名都指向同一个索引结点,它们的文件链接计数都会加1。
文件链接计数的作用是维护文件的引用计数,即记录有多少个文件名指向该文件。当文件链接计数为0时,表示该文件没有任何文件名指向它,可以被删除。因此,当我们使用rm命令删除一个文件时,实际上是将该文件对应的索引结点的文件链接计数减1,只有当文件链接计数为0时,才会真正删除该文件。
需要注意的是,软链接(符号链接)不会影响文件链接计数,因为软链接本身并不是一个文件,它只是一个指向其他文件的指针。