為了更好地理解這個問題,我們需要追根溯源。
當執行shell命令行時,通常會自動打開三個標準文件。
(1),標準輸入文件
通常對應於終端的鍵盤。
(2)標準輸出文件(stdout)。
(3)標準錯誤輸出文件(stderr)。
文件(2)和(3)都對應於終端的屏幕。
該流程將從標準輸入文件中獲取輸入數據。
將正常輸出數據輸出到標準輸出文件[顯示]。
將錯誤信息發送到標準錯誤文件[顯示]。
如下圖所示:
0,1,2表示文件描述符。
但是,有時候我們不想把壹些處理過的信息輸出到顯示器上。
這時候我們導致重定向。
更改標準輸入/輸出的方向
三種重定向:
1,重定向標準輸出,包括兩種。
(1)、gt;(覆蓋率),相當於1 >;
將命令執行的結果輸出到指定的文件,而不是監視器。
(2)、gt;& gt(補充),相當於1 >;& gt
將命令執行的結果追加到指定文件,而不是監視器。
2.重定向標準輸入,包括兩種類型。
(1)、& lt
將鍵盤命令中收到的輸入通道更改為指定文件。
(2)、& lt& lt[此處為文檔]
命令序列被傳遞給交互式程序或命令。
3.有兩種重定向標準錯誤。
(1)、2 & gt(覆蓋範圍)
將命令執行的結果輸出到指定的文件。
(2)、2 >& gt(添加)
將命令執行的結果追加到指定文件。
1.將標準輸出和標準錯誤重定向到同壹個文件。
有幾種方法。
(1)、2 & gt& amp1
(2)、gt;& amp
(3)、與。& gt
2.兩份特殊文件
(1)、/dev/nul
過濾標準錯誤消息
意思是如果不想顯示結果,可以在這裏輸出。
(2)、/dev/zero
創建指定長度的文件
案例1:
測試>和& gt& gt
案例二:
試驗
試驗
試驗
案例三:
測試2 & gt和2 & gt& gt
案例4:
測試重定向標準輸出和重定向標準錯誤到同壹個文件。
(1)、gt;& amp
(2)、與。& gt
類似上面的案例,就不做解釋了。
(3)、2 >& amp1
案例5:
使用/dev/nul文件
有時候我們使用命令,不想把輸出信息顯示到界面上。
這時候,我們可以用&;& gt/dev/nul[ common]
修改演示用戶密碼的簡單測試