为什么移动文件不会影响其 inode 编号?

Jos*_*muk -1 filesystem

移动实际上是在新位置创建文件的副本,然后从以前的位置删除文件。由于不可能同时有两个相同的inode编号,因此在复制之后和删除旧文件之前(短时间)应该更改inode编号。但是,我发现 inode 编号在mv命令后不会改变。那么,被删除的文件的inode号是不是重新分配给了复制的文件呢?

wja*_*rea 6

移动实际上是在新位置创建文件的副本,然后从以前的位置删除文件。

这不一定是真的。

如果目标位于同一文件系统上,则不会复制该文件。只改变了它的路径,它是目录的一部分,而不是存储在 inode 中。

如果目标位于不同的文件系统上,则复制该文件。

Stack Overflow:Linux 的 mv 如何在内部工作?