linux linux輸入輸出重定向

2021-10-19 11:17:14 字數 1003 閱讀 5849

命令

說明command > file

將輸出重定向到 file。

command < file

將輸入重定向到 file。

command >> file

將輸出以追加的方式重定向到 file。

n > file

將檔案描述符為 n 的檔案重定向到 file。

n >> file

將檔案描述符為 n 的檔案以追加的方式重定向到 file。

n >& m

將輸出檔案 m 和 n 合併。

n <& m

將輸入檔案 m 和 n 合併。

<< tag

將開始標記 tag 和結束標記 tag 之間的內容作為輸入。

需要注意的是檔案描述符 0 通常是標準輸入(stdin),1 是標準輸出(stdout),2 是標準錯誤輸出(stderr)。

一般情況下,每個 unix/linux 命令執行時都會開啟三個檔案:

(1)stderr 重定向到 file

$ command 2>file

stderr 追加到 file 檔案末尾

$ command 2>>file

(2)stdout 和 stderr 合併後重定向到 file

$ command > file 2>&1  或 $ command >> file 2>&1

(3)將 stdin 重定向到 file1,將 stdout 重定向到 file2

$ command < file1 >file2

注意:0 是標準輸入(stdin),1 是標準輸出(stdout),2 是標準錯誤輸出(stderr)。

這裡的 2 和 > 之間不可以有空格,2> 是一體的時候才表示錯誤輸出。

不在螢幕上顯示輸出結果

$ command > /dev/null

遮蔽 stdout 和 stderr

$ command > /dev/null 2>&1

freopen 妙用,輸入輸出重定義

使用的理由 範圍 如果輸入資料很龐大,需要一次又一次的重新輸入和除錯時可採用本函式。用freopen 就可以修改標準流檔案的預設值,實現重定向。file freopen const char filename,const char mode,file stream filename 要開啟的檔名 m...

常用技巧 輸入輸出優化 輸入輸出外掛程式

我們知道cin cout是比較慢的,不過它們可以加速。在 中加入這兩句即可 std ios sync with stdio false std cin.tie 0 加速過後cin的速度與scanf的速度近似 當然,加速過後就不要混用print和cout,scanf和cin了。因為不同步,後果會很嚴重...

uva oj java輸入輸出

真難的題目 狗屁演演算法 測資很機車 測驗結果 x.xx0 ms 測驗日期 200y mm dd author raymond wu 小璋丸 publicclassmain 載入單字的字元 while bytedata 1 else bytedata system.in.read catch exc...