Standard IO
- Standard Input and Output:下列為常用的三個數值(總共有0~10,系統預設開啟三個)
- 0:Standard Input (STDIN),預設為鍵盤輸入值
- 1:Standard Output (STDOUT),預設為終端機螢幕顯示輸出
- 2:Standard Error (STDERR),預設為終端機螢幕顯示輸出
Redirecting Output to a File
I/O 轉向概念,改變上述原預設值。
> :Redirect Output,預設等於『1>』,即為『STDOUT轉向輸出』,如果該檔案已存在則會覆蓋。
- find /etc/passwd > result.txt
2> :Redirect STDERR,如果該檔案已存在則會覆蓋。
- find /etc/passwd 2> result.txt
&> :Redirect all(0,1,2) output,轉向輸出到檔案
2>&1 :Redirect STDERR to STDOUT
find /etc -name passwd > find.out 2> find.err :利用多個Argument將STDOUT、STDERR輸出到不同檔案
find /etc -name passwd > find.out 2>&1 :將『STDOUT』輸出至『find.out』,再透過『2>&1』,所以在『find.out』中為『STDOUT』和『STDERR』。
find /etc -name passwd 2>&1 >find.out :將『STDERR』輸出至螢幕,而『STDOUT』轉向至『find.out』
>> :Append,如果該檔案已存在,則會添加在檔案後端
| :Pipe
< :Redirect STDIN
<< :End-Word
Redirecting to Multiple Targets (tee):雙向重導向,多目標轉移
- 用法:tee [ -a ] file:將『STDIN』輸出至『file』及『STDOUT』
- ls -l | tee -a output :將『ls -l』的結果累加到檔案『output』中並顯示於螢幕上