移动实际上是在新位置创建文件的副本,然后从之前的位置删除文件。由于不可能同时拥有两个相同的 inode 编号,因此 inode 编号应该在复制后和删除旧文件之前更改(短时间)。但是,我发现 inode 编号在mv
命令后并没有改变。那么,被删除文件的inode号是否重新分配给复制的文件?
移动实际上是在新位置创建文件的副本,然后从之前的位置删除文件。由于不可能同时拥有两个相同的 inode 编号,因此 inode 编号应该在复制后和删除旧文件之前更改(短时间)。但是,我发现 inode 编号在mv
命令后并没有改变。那么,被删除文件的inode号是否重新分配给复制的文件?
这不一定是真的。
如果目标位于同一文件系统上,则不会复制该文件。只有它的路径被改变,它是目录的一部分,而不是存储在 inode 中。
如果目标位于不同的文件系统上,则复制该文件。
这也包括在 Stack Overflow:Linux 的 mv 如何在内部工作?