Linux';什么是内部工作?

Linux';什么是内部工作?,linux,command-line,filesystems,Linux,Command Line,Filesystems,我知道在Linux中,如果我们想将文件夹从f_old重命名为f_new,我们可以运行: mv f_old f_new 但是这个命令实际上把我弄糊涂了。系统是否复制了f_old中的所有内容,将其粘贴到新文件夹f_new并最终删除f_old?或者它只是将f_old重命名为f_new?只要目标位置与源位置在同一个分区(文件系统)上,就不会移动甚至触摸数据。只更改目录项中的名称 如果目标位于单独的分区上,则数据将首先复制到目标,然后从源中删除。完整的手册中介绍了这一点,该手册解释了如何获取: T

我知道在Linux中,如果我们想将文件夹从
f_old
重命名为
f_new
,我们可以运行:

mv f_old f_new

但是这个命令实际上把我弄糊涂了。系统是否复制了
f_old
中的所有内容,将其粘贴到新文件夹
f_new
并最终删除
f_old
?或者它只是将
f_old
重命名为
f_new

只要目标位置与源位置在同一个分区(文件系统)上,就不会移动甚至触摸数据。只更改目录项中的名称


如果目标位于单独的分区上,则数据将首先复制到目标,然后从源中删除。

完整的手册中介绍了这一点,该手册解释了如何获取:

   The  full  documentation  for mv is maintained as a Texinfo manual.  If
   the info and mv programs are properly installed at your site, the  comâ
   mand

          info coreutils 'mv invocation'
也可在以下网址在线获取:

mv可以将任何类型的文件从一个文件系统移动到另一个文件系统。之前 fileutils的4.0版,mv只能在 文件系统。例如,现在mv可以移动整个目录 层次结构,包括从一个分区到另一个分区的特殊设备文件 另一个它首先使用cp-a使用的一些相同的代码来 复制请求的目录和文件,然后(假设复制 成功)它将删除原件。如果复制失败,则零件 已复制到目标分区的磁盘将被删除。如果你是 将三个目录从一个分区复制到另一个分区 第一个目录的成功,但是第二个没有,第一个 将保留在目标分区以及第二个和第三个分区上 将保留在原始分区上


如果源和目标位于同一分区上,则不会复制或移动任何内容。各种inode组件被操纵,仅此而已。如果源和目标不同,则您将看到物理拷贝和删除

编辑-


请注意,操作的是目录项。这与inode不同

注意:名称不在inode中,而是在目录项/条目中。注意:名称不在inode中,而是在目录项/条目中。在inode中,最多可以更改->ctime。感谢您的回答和讨论。@Cosmoandcat您勾选了错误的答案。Inode内容不会更改(ctime可能例外),除非移动跨越设备边界。@wildplasser感谢提醒:)但是这个答案和下面的讨论确实帮助我理解了这个问题。也许jmf1205可以编辑他/她的帖子,这样就不会让其他人感到困惑了?也许这对你有帮助,但这是完全错误的@hek2mgl确实纠正了一些有用的答案,因此值得称赞。因此,问题不在于讨论,而在于(正确的)答案。