【发布时间】:2012-05-28 23:42:00
【问题描述】:
如果我们执行一个命令:
mv A B
那么文件A的inode中的字段会发生什么?会变吗?
我认为不应该仅仅通过更改文件名来更改它,但我不确定。
【问题讨论】:
如果我们执行一个命令:
mv A B
那么文件A的inode中的字段会发生什么?会变吗?
我认为不应该仅仅通过更改文件名来更改它,但我不确定。
【问题讨论】:
这至少部分取决于 A 和 B 是什么。如果您在文件系统之间移动,inode 几乎肯定会有所不同。
在同一系统上简单地重命名文件更有可能保留相同的 inode,因为 inode 属于数据而不是目录条目,效率会导致这种设计。但是,它取决于文件系统,并且不是标准强制要求的。
例如,可能有一个带有 inode 概念的版本控制文件系统,它为您提供一个新的 inode,因为它想要跟踪名称更改。
【讨论】:
mv 将只是目录条目中的更改。 'inode' 没有变化。
mved 的文件,那么保持理智的行为会非常昂贵。
视情况而定。
this site 上有一个很好的例子,它表明 inode 可能保持不变。但我不会依赖这种行为,我怀疑它在任何标准中都有规定。
【讨论】: