【发布时间】:2018-06-04 01:24:40
【问题描述】:
有一个 gnu coreutils 程序“tee”和一个 linux(/libc?) 系统调用“tee”。程序 tee 不调用 tee。相反,它先“读取”,然后“写入”(当然是多次)。
为什么 tee 不使用 tee?我认为这是为了性能或便携性,但我找不到答案。
后续问题,为什么它是 'read' 和 'fwrite',而不是 'read'/'write' 或 'fread'/'fwrite'?
【问题讨论】:
-
tee(1)命令存在于tee(2)syscall 之前。为什么现在改呢? -
我在猜测,但是对于
tee所做的事情,输入缓冲会妨碍,但输出缓冲仍然是有益的。 -
GNU tee 可以在任何类 Unix 操作系统下工作。我认为 tee 系统调用仅适用于 Linux。
标签: linux system-calls gnu-coreutils