UNIX如何处理两个磁盘文件系统之间的文件移动?

时间:2019-01-23 11:37:57

标签: unix disk

我在UNIX机器上有三个目录,如下所述:

/tmp mapped on /dev/mapper/data-tmpVol1
/var mapped on /dev/mapper/data-varVol1
/opt mapped on /dev/mapper/data-optVol1
  1. 如果我执行从/ tmp到/ var的移动操作,那么由于幕后有两个不同的文件系统,UNIX实际上会进行复制吗?

  2. 如果我想立即移动,是否最好先在/ var / staging中复制文件,然后执行从/ var / staging到/ var / input的移动?

关于此问题的上下文:我有一个过程可以扫描/ var / input中的文件,并且已经看到了拾取半复制文件(直接从/ tmp移到/ var / input时)的情况。

此致

克里斯蒂

1 个答案:

答案 0 :(得分:1)

在文件系统中移动时,您可能希望在目标目录中创建一个具有临时文件名的文件,例如my-file.txt~。扫描过程必须忽略此类临时文件名。文件完成后,您rename将其命名为最终名称。这样,当文件(具有最终名称)存在时,它就完成了,或者根本不存在。