參考文章
標準輸入一般指的是鍵盤輸入。多數命令能接收標準輸入
如果cat
不加引數,在收到 eof (ctrl + d
) 之前,它會一直監聽標準輸入(鍵盤),列印到標準輸出(顯示器):
$ cat
hello there
hello there
say it again
say it again
[ctrl+d]
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 |
wc1 1 6
標準輸入標準輸出標準錯誤重定向
重定向操作符 描述 將命令輸出寫入到檔案或裝置 如印表機 而不是命令提示符視窗或控制代碼。從檔案而不是從鍵盤或控制代碼讀入命令輸入。將命令輸出新增到檔案末尾而不刪除檔案中已有的資訊。將乙個控制代碼的輸出寫入到另乙個控制代碼的輸入中。從乙個控制代碼讀取輸入並將其寫入到另乙個控制代碼輸出中。從乙個命令中...
重定向解釋
在 unix 系統中,任何命令,包括 shell本身,預設情況下總是讀取來自終端鍵盤輸入的資料 這個資料輸入源通常稱作標準輸入 stdin 其檔案描述符為0.預設情況下 命令的處理結果總是輸出到使用者終端的螢幕上 這個輸出目的通常稱作標準輸出 stdout 其檔案描述符為1.另外,在命令的執行期間 ...
重定向》 與標準輸入 標準輸出 標準錯誤輸出
當linux執行乙個程式的時候,會自動開啟三個流,標準輸入 standard input 標準輸出 standard output 標準錯誤輸出 standard error 比如在開啟命令行時,預設情況下,命令列的標準輸入連線到鍵盤,標準輸出和標準錯誤都連線到螢幕,儘管三個流都開啟,但他會根據需要...