这取决于您在哪里获得了两个文件描述符。如果它们来自dup(2)调用,则它们共享文件的偏移量和状态,因此对一个文件执行write(2)将影响另一个文件的位置。另一方面,如果它们来自两个单独的open(2)调用,则每个调用将具有自己的文件偏移量和状态。
文件描述符主要只是对内核文件结构的引用,而该内核结构包含大多数状态。打开(2)文件时,您将获得一个新的内核文件结构和一个引用该文件的新文件描述符。当您对文件描述符dup(2)(或通过sendmsg传递文件描述符)时,将获得对相同内核文件结构的新引用。