解釋標準輸入重定向

2021-10-04 06:56:21 字數 927 閱讀 6435

參考文章

標準輸入一般指的是鍵盤輸入。多數命令能接收標準輸入

如果cat不加引數,在收到 eof (ctrl + d) 之前,它會一直監聽標準輸入(鍵盤),列印到標準輸出(顯示器):

$ cat

hello there

hello there

say it again

say it again

[ctrl+d]

cat < file,意為file作為cat的標準輸入

然而cat filecat < 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 比如在開啟命令行時,預設情況下,命令列的標準輸入連線到鍵盤,標準輸出和標準錯誤都連線到螢幕,儘管三個流都開啟,但他會根據需要...