1. 程式人生 > >Linux學習第五節課-標準I/O和管道

Linux學習第五節課-標準I/O和管道

定向 描述 命令 終端 NPU 提示 err 輸出數據 所有

Linux學習第五節課

------------------------------------------------------------------------------------------------------------------------------------------------------------------

三十一、標準輸入和輸出

程序:指令+數據

讀入數據:Input

輸出數據:Output

打開的文件都有一個fd: file descriptor (文件描述符)

Linux給程序提供三種I/O設備

標準輸入(STDIN)-0 默認接受來自鍵盤的輸入

標準輸出(STDOUT)-1 默認輸出到終端窗口

標準錯誤(STDERR)-2 默認輸出到終端窗口

I/O重定向:改變默認位置


三十二、操作符號

> 把STDOUT重定向到文件,把正確的結果輸出到文件;

2> 把STDERR重定向到文件,把錯誤的提示輸出到文件;

&> 把所有輸出重定向到文件,把所有結果輸出到文件;

>>追加內容;

2> 覆蓋重定向錯誤輸出數據流;

2>> 追加重定向錯誤輸出數據流;

&> 覆蓋重定向;

&>> 追加重定向;

命令> 文件 2>&1 (順序很重要);

命令 >> /path/to/file.out 2>&1;

():合並多個程序的STDOUT,( 命令1 ; 命令2 ) > all.txt;

<重定向標準輸入,可以理解為影響,tr 'a-z' 'A-Z' < /etc/issue,tr命令結果產生的效果影響到/etc/issue,使該文件下所有小寫字母變成大寫字母;

cat > file 輸入後回車會出現光標閃爍,輸入回車file文件有內容;

cat > filea < fileb 輸入後fileb文件內容會出現在filea中;

<<終止詞,郵件或腳本開頭可用,輸入後文本內容中再次出現終止詞即為輸出終止,一般用EOF


三十三、管道

命令1|命令2|命令3|....將命令1的正確結果傳給命令2,處理後的正確結果再傳給命令3,以此類推,此命令只傳送正確結果,如果想錯誤結果也一起傳遞,可以用2>&1 或 |&



Linux學習第五節課-標準I/O和管道