如果我们执行一个命令:
mv A B
那么文件A的inode中的字段会发生什么?它会改变吗?
我认为不应该仅仅通过更改文件名来改变它,但我不确定。
它至少部分取决于 A 和 B 是什么。如果您在文件系统之间移动,inode 几乎肯定会有所不同。
简单地在同一系统上重命名文件更有可能保留相同的 inode,因为 inode 属于数据而不是目录条目,效率会导致这种设计。但是,它取决于文件系统,并且不是标准强制要求的。
例如,可能有一个带有 inode 概念的版本控制文件系统,它为您提供一个新的 inode,因为它想要跟踪名称更改。
这取决于。
这个网站上有一个很好的例子,它表明 inode 可能保持不变。但我不会依赖这种行为,我怀疑它是否在任何标准中都有规定。