mv:什么时候产生的文件可用?

假设一个进程执行此操作:将大文件mv到目标目录

而另一个进程是在目标目录中查看该文件,因为它想尽快读取它的内容。 文件系统是否确保第二个进程在文件完全可用时才“看到”文件?

我看了mv的手册页,但没有看到任何保证…

这在很大程度上取决于源文件和目标文件是否在同一个文件系统上(在这种情况下, rename(2)完成,†大约是primefaces一样)或不同的文件系统一个进程可能很容易看到一个不完整的文件,特别是如果系统或networking或文件系统速度慢)。

†基于我在Linux上做了多年的mv ,所以YMMV有不同的mv实现。