導語:輸出包含兩種型別: 一種是程式的執行結果(標準輸出), 一種是狀態和錯誤資訊(標準錯誤).下面就由小編為大家介紹一下Linux標準輸入及輸出錯誤詳解,大家一起去看看吧!
標準輸出(standard output)和 標準錯誤(standard error), 預設是連線至螢幕;
標準輸入(standard input) 預設是連線至鍵盤;
可以使用IO重定向(redirection), 改變輸入, 輸出的傳送位置;
1. 標準輸出
標準輸出重定向, 使用重定向操作符(">"), 把程式輸出至檔案, 預設是從檔案頭部重寫寫入;
可以使用"> ",清空文字資訊;
使用">>", 將檔案新增至文字尾部;
2. 標準錯誤
標準錯誤重定向, 使用"2>", 進行輸出, 由於檔案流包含三種, 即"輸入, 輸出, 錯誤", 對應"0, 1, 2";
即">", 即等於"1>", 標準輸出;
處理不想要的錯誤輸出, 使用"2> /dev/null", 隱藏一個命令的'錯誤資訊.
同時顯示輸出和錯誤, 標準錯誤是後於標準輸出產生, 即要先使用">", 再使用"2>&1", 命令:"xxxx > xxxx 2>&1";
也可以使用"&>", 直接輸出標準輸出和錯誤, 命令:"xxxx &> xxxx", 較新版bash提供.
如圖:
3. 標準輸入:
cat命令(ConcATenate), 本意是連結檔案, cat xxxx[1] xxxx ... > xxxx[end];
1. 如果只使用第一個引數, 即把資訊輸出至螢幕, 可以輸出短的檔案, 不會換行;
2. 如果只使用cat, 則從鍵盤獲取資訊, 輸出至螢幕;
3. 如果只使用最後一個引數, 即cat > xxxx, 即從鍵盤輸入, 儲存入檔案;
4. 如果都使用, 則是連線檔案, 把檔案順次連線, 並存入結尾檔案;
5. 可以使用"<", 即"cat < xxxx", 則是重定向, 把輸入的源, 變為檔案, 和直接輸入檔案意義相同.