海绵(来自 moreutils)如何工作? 2024-6-2 • shell io-redirection stdout stdin Sponge 可以“吸收”标准输入并将其自动写入文件,从而使人们能够执行cat f|sponge a.我想知道它到底是如何实现这一目标的。它如何知道输入何时完成? 答案1 strace或类似的将显示 所使用的系统调用sponge,这可能是write(2)输入read(2)从标准输入输出到临时文件,然后到rename(2)当输入结束时,将该临时文件更改为所需的输出文件名。当read(2)调用失败或返回0(表示文件结束)时输入结束,此时sponge可以进行重命名。 相关内容 如何通过主机控制台连接到 VirtualBox 客户机 尝试将 Windows 2012 服务器升级到 2008 域中的 DC 时出现 ADPrep 错误 ext2fsd 可以用来将卷转换为 NTFS 吗? svn+ssh 和 TortoiseSVN:网络连接意外关闭 Snap CLion IDE 在运行时退出 我可以取消设置 $1 变量吗? Thinkpad 风扇在 Linux 中不启动 变量扩展中默认值的元字符处理 我在端口转发方面遇到问题 Windows 7 加载程序或访问文件非常慢[重复]