当您强制退出两个磁盘之间的“mv”目录操作时会发生什么?

当您强制退出两个磁盘之间的“mv”目录操作时会发生什么?

提出这个问题的另一种方式是......

当你mv在两个磁盘之间有一个目录时会发生什么?

它是先移动一个文件,还是先将所有文件复制到目标,然后从源中删除目录?

如果它先复制所有内容然后将其删除,我可以假设强制退出mv操作是安全的。否则,它可能很危险,并且cp可能更适合更密集/更大的移动。

答案1

移动目录时,会先复制其所有内容,然后再删除原始内容。换句话说,mv在移动单个源(例如目录)时中断命令是安全的 - 即使它可能包含文件和子目录,它仍然是单个源。

请注意,使用一个命令移动多个源时情况并非如此,例如:

mv a.txt b.txt /somewhere/else/
mv *.txt /somewhere/else/

在这些示例中,文件将被移动逐个,因此如果你中断该命令,你将找不到已经移动到原来位置的文件。

答案2

如果你感兴趣在如何进行密集或大规模移动操作的细节方面,有一个工具可以支持所有想法你可以想到的。然后还有一些。

rsync

它可用于在本地和远程复制、移动、同步文件,更多方式

它的背面是:man rsync描述的选项比任何人读过的都要多。

它支持中断操作、连续操作、部分传输、基于差异的传输 - 随便您说。

相关内容