我知道符号链接有一个与原始文件分开的索引节点,并且它们仅指向包含数据的索引节点。我的问题是,如果索引节点结构中没有引用“名称”的字段,则硬链接名称存储在哪里。我知道这可能是一个相对简单的问题,但由于所有硬链接都具有相同的索引节点号,我假设创建硬链接时不会创建索引节点。
答案1
文件的名称存储在目录中。
简单来说,Linux 上的目录只是名称到 inode 的映射。当您用于mv
重命名/移动文件时,只有目录中的映射会发生变化。这允许您使用不同名称对同一 inode 进行硬链接,只要硬链接位于同一文件系统分区上即可。
更多信息这里。