一、管道
使用“|”符號來實現管道功能;管道可以實現在一行中處理使用管道符號連接的多個命令,后面的命令使用前面命令的輸出結果做為處理對象。
二、數據流重定向
數據輸入和輸出的類型:
標準輸入(stdin):代碼為0,默認設備為鍵盤;
標準輸出(stdout):代碼為1,默認設備為顯示器;
標準錯誤輸出(stderr):代碼為2,默認設備為顯示器。
重定向就是將數據不使用默認的設備進行輸入或輸出。
1、輸出重定向
標準輸出重定向:
COMMAND > POSITION:覆蓋輸出
COMMAND >> POSITION:追加輸出
標準錯誤重定向:
COMMAND 2> POSITION:覆蓋輸出
COMMAND 2>> POSITION:追加輸出
標準錯誤的追加重定向與標準輸出的追加重定向相類似,此處不再進行演示。
合并重定向:
COMMAND &> POSITION
COMMAND > POSITION 2> &1
分別重定向:
COMMAND > POSITION 2> POSITION2
2、輸入重定向
COMMAND < FILE:以FILE中的內容來替代鍵盤輸入;
COMMAND << STRING:以STRING為輸入結束符;
3、重定向的應用
輸入重定向經常用于不能處理參數的命令,例如tr命令。
tr命令格式:tr [OPTION]… SET1 [SET2]
作用:用于刪除文字或進行文字的替換。
OPTIONS:
-d:刪除指定的字符;
-s:替換掉重復的字符;
4、多道輸出
使用tee命令來實現多道輸出,即將命令的結果在屏幕上顯示的同時,也在指定的文件中保存;使用-a選項可以在文件中追加重定向的內容。
5、數據黑洞
所有流向數據黑洞的數據都將被丟棄,使用/dev/null這個設備來實現此功能。
6、重定向的控制
set -C 關閉輸出重定向的覆蓋功能
set +C 打開輸出重寫向的覆蓋功能
>|:在關閉了輸出重定向的覆蓋功能時,依然執行覆蓋操作
原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/3262