![当您强制退出两个磁盘之间的“mv”目录操作时会发生什么?](https://linux22.com/image/859956/%E5%BD%93%E6%82%A8%E5%BC%BA%E5%88%B6%E9%80%80%E5%87%BA%E4%B8%A4%E4%B8%AA%E7%A3%81%E7%9B%98%E4%B9%8B%E9%97%B4%E7%9A%84%E2%80%9Cmv%E2%80%9D%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C%E6%97%B6%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%EF%BC%9F.png)
提出这个问题的另一种方式是......
当你mv
在两个磁盘之间有一个目录时会发生什么?
它是先移动一个文件,还是先将所有文件复制到目标,然后从源中删除目录?
如果它先复制所有内容然后将其删除,我可以假设强制退出mv
操作是安全的。否则,它可能很危险,并且cp
可能更适合更密集/更大的移动。
答案1
移动目录时,会先复制其所有内容,然后再删除原始内容。换句话说,mv
在移动单个源(例如目录)时中断命令是安全的 - 即使它可能包含文件和子目录,它仍然是单个源。
请注意,使用一个命令移动多个源时情况并非如此,例如:
mv a.txt b.txt /somewhere/else/
mv *.txt /somewhere/else/
在这些示例中,文件将被移动逐个,因此如果你中断该命令,你将找不到已经移动到原来位置的文件。