標準輸入是什麼
標準輸入一般指的是鍵盤輸入。多數命令能接收標準輸入
如果 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
打印對應文件中的內容,而不再接收標準輸入的內容
第二行是 cat
接收 file
作爲標準輸入。cat
打印了標準輸入的內容,而沒有接收參數
管道的示例
理解了標準輸入和標準輸出,管道也就可以理解了
wc
命令可以統計行數、詞數和字符數:
$ wc
hello
[ctrl+d]
1 1 6
使用管道將 echo
的標準輸出 hello 作爲 wc
的標準輸入:
$ echo hello | wc
1 1 6