當前位置:才華齋>計算機>作業系統>

Linux標準輸入及輸出錯誤詳解

作業系統 閱讀(2.39W)

導語:輸出包含兩種型別: 一種是程式的執行結果(標準輸出), 一種是狀態和錯誤資訊(標準錯誤).下面就由小編為大家介紹一下Linux標準輸入及輸出錯誤詳解,大家一起去看看吧!

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", 則是重定向, 把輸入的源, 變為檔案, 和直接輸入檔案意義相同.