猫从来不从终端读取数据吗?

猫从来不从终端读取数据吗?

第 43 章 重定向输入和输出Unix 电动工具,第三版关于 cat 命令不得不说一下:

标准输入 (stdin) 通常来自键盘。许多程序忽略 stdin;您可以直接在命令行上命名文件 - 例如,命令 cat file1 file2绝不读取其标准输入;它直接读取文件。但是如果命令行上没有文件名,需要输入的 Unix 命令通常会读取 stdin。标准输入通常来自键盘,但 shell 可以从文件重定向标准输入。

强调矿)

好的,但是当我们只cat > filename在命令行中输入时会发生吗? cat 不是从标准输入读取并将其存储到文件“文件名”中吗?书中的上述摘录只是说只有将 cat 与 FILE 参数一起使用的特定形式才不会从标准输入中读取?

答案1

cat 不是从标准输入读取并将其存储到文件“文件名”中吗?

是的,当cat没有任何文件名参数时(或者如果其中一个文件是减号字符-),它会从stdin.

也许书中使用“从不”这个词有点误导,因为:

书中的上述摘录只是说只有将 cat 与 FILE 参数一起使用的特定形式才不会从标准输入中读取?

是的,在那种特定情况下,cat不会碰stdin

相关内容