当我们使用mv命令时,硬盘会发生什么变化?

当我们使用mv命令时,硬盘会发生什么变化?

在下列条件下——

  1. mv在同一硬盘分区内
  2. mv到同一硬盘的不同分区
  3. mv到不同的设备(例如 USB HDD)

是整个文件被移动还是像一些指针重新分配这样的一个非常小的变化?

答案1

如何处理文件系统内的移动(也称为重命名文件)取决于每个文件系统,但文件系统几乎普遍通过更新目录条目而不移动 inode 或文件内容来处理它。

文件系统之间的移动(无论是否位于同一物理介质上)都被处理为文件副本,然后删除。事实上,这正是该mv命令的作用。显然,这意味着目标文件系统必须创建文件的新副本。

答案2

man mv说:

 As the rename(2) call does not work across file systems, mv uses cp(1) and rm(1) to
 accomplish the move.  The effect is equivalent to:

       rm -f destination_path && \
       cp -pRP source_file destination && \
       rm -rf source_file

相关内容