我正在实现原子写入(Linux 和 FreeBSD 上的 Python 中的 FWIW),并且我正在写入与我计划写入的文件位于同一目录中的临时文件(以确保它们在同一目录中)文件系统,因此 rename(2) 成功并且写入可以是原子的)。
我的问题是,是否存在同一目录中的两个文件位于不同文件系统的情况?(我没有遵循符号链接,因此将文件符号链接到不同文件系统上的另一个文件对我来说不是问题)。
是的。不仅可以挂载目录,还可以挂载文件。这使得可以将驻留在不同文件系统上的文件挂载到一个相互目录中。
重命名文件会导致 EBUSY,当mv使用时,这通常会打印消息“设备或资源繁忙”。可以重命名目标而不会引发错误。更改将改为应用于新名称。