为什么移动文件与重命名文件相同?

为什么移动文件与重命名文件相同?

我有一段时间听说对于 Linux 中的 mv 工具来说,移动文件与重命名文件是一样的。这里是评论最近引起了我的兴趣:

“在一个文件系统上,重命名和移动是完全相同的事情; “移动”只是重命名目录项的完整路径(即声明其父目录的部分),而不仅仅是目录项的基本名称(最后一个斜杠之后的部分)。这是通过系统调用 rename(2) 完成的;像 mv 这样的工具测试是否可以使用它,并且只有在它不回退到复制和删除时才可以。”

我想知道,重命名文件如何移动文件?我认为通过删除旧父目录中的条目并在新父目录中创建条目来移动文件。我不明白这与重命名文件有什么关系。

答案1

我认为通过删除旧父目录中的条目并在新父目录中创建条目来移动文件。我不明白这与重命名文件有什么关系。

两个词表示同一过程。在英语中,移动通常意味着文件具有相同的名称,但位于不同的目录中,而重命名意味着它位于同一目录中,但具有不同的名称。操作系统并不关心这种区别。无论哪种方式,都会删除一个目录条目,并添加另一个目录条目。

相关内容