我在UNIX机器上有三个目录,如下所述:
/tmp mapped on /dev/mapper/data-tmpVol1
/var mapped on /dev/mapper/data-varVol1
/opt mapped on /dev/mapper/data-optVol1
如果我执行从/ tmp到/ var的移动操作,那么由于幕后有两个不同的文件系统,UNIX实际上会进行复制吗?
如果我想立即移动,是否最好先在/ var / staging中复制文件,然后执行从/ var / staging到/ var / input的移动?
关于此问题的上下文:我有一个过程可以扫描/ var / input中的文件,并且已经看到了拾取半复制文件(直接从/ tmp移到/ var / input时)的情况。
此致
克里斯蒂
答案 0 :(得分:1)
在文件系统中移动时,您可能希望在目标目录中创建一个具有临时文件名的文件,例如my-file.txt~
。扫描过程必须忽略此类临时文件名。文件完成后,您rename
将其命名为最终名称。这样,当文件(具有最终名称)存在时,它就完成了,或者根本不存在。