这可能在许多常见问题中都有提及,而不是使用:
cat file | command
(这被称为无用的使用猫) ,正确的方式应该是:
command < file
在第二种情况下,“正确”的方式-OS 不必产生额外的进程。
尽管知道这一点,我继续使用无用的猫有两个原因。
更具美感——我喜欢数据只从左向右均匀移动的时候。用其他东西(gzcat
、 echo
、 ...)替换 cat
、添加第二个文件或插入新的过滤器(pv
、 mbuffer
、 grep
...)也更容易。
我“感觉”在某些情况下它可能更快。更快,因为有两个进程,第一个(cat
)执行读取,第二个执行任何操作。它们可以并行运行,这意味着有时执行速度更快。
我的逻辑正确吗(第二个原因) ?