linux中有三種標準輸入輸出,分別是stdin,stdout,stderr,對應的數字是0,1,2。
stdin是標準輸入,預設從鍵盤讀取資訊;stdout是標準輸出,預設將輸出結果輸出至終端;stderr是標準錯誤,預設將輸出結果輸出至終端。
由於stdout與stderr都會預設顯示在終端上,為了區分二者的資訊,就有了編號的0,1,2的定義,用1表示stdout,2表示stderr。
2>&1,指將標準輸出、標準錯誤指定為同一輸出路徑
eg1:cat >>filetest 2>&1 <-------建立filetest檔案,當輸入遇到end時,退出
eg2:
1、以普通使用者執行 find /etc -name passwd 命令,缺省會將命令的執行結果(stdout)與錯誤資訊(stderr)都輸出至終端顯示器。
2、執行find /etc -name passwd >find.out 2>find.err,會將stdout與stderr分別存放至find.out和find.err中。該命令也可以寫成下面三種形式
find /etc -name passwd 1>find.out 2>find.err
find /etc -name passwd 2>find.err >find.out
find /etc -name passwd 2>find.err 1>find.out
3、若要將所有標準輸出及標準錯誤都輸出至檔案,可用&表示全部1和2的資訊,eg:
find /etc -name passwd &>find.all 或 find /etc -name passwd >find.all 2>&1
4、2>&1 ---標準錯誤重新定向到標準輸出
5、用法:find /etc -name passwd &2>&1 |less
可分解成
find /etc -name passwd & 表示前面的命令放到後台執行。
2>&1 |less 表示將標準錯誤重定向至標準輸出,並用less進行分頁顯示
linux的標準輸入輸出
0 代表標準的std in 1 代表標準的std out 2 代表標準的std err 重定向 2 file,將標準錯誤輸出重定向到檔案中。1 file,將標準輸出重定向到檔案中。2 1,將標準的錯誤輸出重定向到標準輸出,錯誤輸出將會顯示在終端上,效果和不加是一樣的,因為預設的錯誤輸出就是終端。那如...
標準輸入輸出
linux的大部分命令都具有標準的輸入輸出埠,有哪些標準裝置資訊?名稱 檔案描述符 含義裝置 說明stdin 0標準輸入 鍵盤命令在執行時所需要的輸入資料,通過它來獲取 stdout 1標準輸出 顯示器命令在執行後所產生的輸出資料,通過它來送出 stderr 2標準錯誤 顯示器命令在執行後所產生的錯...
標準輸入輸出
目錄流緩衝 格式輸出 格式輸入 目錄流緩衝 格式輸出 格式輸入 記錄下,了解概念。當用流或檔案描述字i o函式開啟乙個檔案時,分別返回乙個流或檔案描述字,後面就可以將這個流或檔案描述字作為引數交給相應讀寫函式來完成實際的讀寫操作。通過關閉檔案可以終止程式與檔案的連線。檔案描述字表示為int型別的物件...