Linux命令執行過程的數據傳輸情況如下所示:
1)標准輸入(stdin):代碼為0,使用<或<<;
2)標准輸出(stdout):代碼為1,使用>或>>;
3)標准錯誤輸出(stderr):代碼為2,使用2>或2>>;
其中>表示以覆蓋的方式將數據寫入文件或設備,>>表示以累加的方式將數據寫入文件或設 備。
其中<表示將原本需要由鍵盤輸入的數據改由文件內容來替代,而<<表示結束輸入的意思。 舉例來說,我要用cat直接將輸入的信息輸出到catfile,且當由鍵盤輸入eof時結束,那麼:
# cat > catfile <<EOF > This is a test > ok > EOF
tee - 雙向重定向
從上面我們可以知道數據流要麼輸出到文件或設備,要麼輸出到屏幕(即標准輸出),而tee命令可以 達到同時輸出的目的:
tee可以讓標准輸出轉存一份到文件,其用法如下:
tee [-a] file -a:以累加方式 ls -l /home | tee homefile | more