4
在Linux上使用“ >>”时,bash是否会在O_APPEND中打开文件?
如果使用,echo 1234 >> some-file则说明文档将附加输出。 我的猜测是,如果某些文件不存在,则O_CREAT将创建一个新文件。如果>已使用,则O_TRUNC将截断现有文件。 在以下情况下>>:是否将文件以O_WRONLY(或O_RDWR)打开并试图结束并模拟O_APPEND来完成写入操作?还是将文件以O_APPEND的形式打开,然后将其留在内核中以确保追加? 我之所以这样问是因为,当输出文件来自NFS挂载点时,conserver进程会覆盖通过echo插入的一些标记,并且NFS Documentation说服务器上不支持O_APPEND,因此客户端内核将不得不处理它。我猜服务器进程正在使用O_APPEND,但是不确定>>Linux上的bash ,因此在这里提出问题。