在linux上使用“>>”时,bash是否在O_APPEND中打开文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在linux上使用“>>”时,bash是否在O_APPEND中打开文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含722字,纯文字阅读大概需要2分钟。
内容图文
![在linux上使用“>>”时,bash是否在O_APPEND中打开文件?](/upload/InfoBanner/zyjiaocheng/959/d715d8d45542429abaa3c626b95872c8.jpg)
如果我们使用echo 1234>> some-file然后Documentation说输出是附加的.
我的猜测是,如果某个文件不存在,那么O_CREAT将创建一个新文件.如果>使用了,然后O_TRUNC将截断现有文件.
在>>的情况下:
文件是否会以O_WRONLY(或O_RDWR)打开并寻求结束和写入操作,模拟O_APPEND?
或者将文件作为O_APPEND打开,将其留给内核以确保附加发生?
我问这个是因为当输出文件来自NFS挂载点时,conserver进程会覆盖echo插入的一些标记,& NFS文档说服务器不支持O_APPEND,因此客户端内核必须处理它.我猜conserver进程正在使用O_APPEND,但不确定bash>>在Linux上,因此在这里提出问题.
解决方法:
我跑了这个:strace -o spork.out bash -c“echo 1234>> some-file”来找出你的问题.这是我发现的:
open("some-file", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
在运行echo命令的目录中不存在名为“some-file”的文件.
内容总结
以上是互联网集市为您收集整理的在linux上使用“>>”时,bash是否在O_APPEND中打开文件?全部内容,希望文章能够帮你解决在linux上使用“>>”时,bash是否在O_APPEND中打开文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。