标准输入是什么
标准输入一般指的是键盘输入。多数命令能接收标准输入
如果 cat
不加参数,在收到 EOF (CTRL + d
) 之前,它会一直监听标准输入(键盘),打印到标准输出(显示器):
$ cat
hello there
hello there
say it again
say it again
[ctrl+d]
cat file
和 cat < file
的区别
cat < file
,意为 file
作为 cat
的标准输入
然而 cat file
和 cat < file
能达到相同的目的:
$ cat file
hello
$ cat < file
hello
其实这两行命令不一样
cat file
打印对应文件中的内容,不再接收标准输入
cat < file
将文件的内容作为标准输入,然后 cat
打印标准输入的内容
管道的示例
理解了标准输入和标准输出,管道也就可以理解了
wc
命令可以统计行数、词数和字符数:
$ wc
hello
[ctrl+d]
1 1 6
使用管道将 echo
的标准输出 hello 作为 wc
的标准输入:
$ echo hello | wc
1 1 6