輸入重定向
- 當有些時候如果讓使用者手動輸入資料将會相當麻煩,此時可以使用輸入重定向操作符’<’ 來重定向輸入源
- 輸入重定向是指把指令或者可執行程式的标準輸入 重定向到指定的檔案
- 輸入可以不來自鍵盤,而是來自指定的檔案
- 輸入重定向主要用于改變一個指令的輸入源
輸出重定向
- 使用輸出重定向操作符’>’ 改變資料輸出的目标,一般是另存到一個檔案中供以後分析
- 輸出重定向能把一個指令的輸出 重定向到檔案裡,而不是顯示在螢幕上
- 注意:如果> 後面指定的檔案已存在,則該檔案的原内容會被覆寫
輸出重定向追加
- 為避免輸出重定向中的指定檔案被重寫,shell提供了輸出重定向的追加手段
- 如果要将一條指令的輸出結果追加到指定檔案的後面,可使用追加重定向操作符’>>’
- 格式:指令 >> 檔案名
雙重輸出重定向
-
将正确的輸出結果與錯誤的輸出結果一次性單獨輸送到不同的地方
格式:指令 2> error.txt > results.txt
-
不管是正确的輸出還是錯誤的輸出,都要輸送到指定的同一檔案,則可使用&>或者&>>
格式:指令 &>> 檔案名稱
檔案描述符
名稱 | 代碼 | 操作符 |
---|---|---|
标準輸入 | <、<< | |
标準輸出 | 1 | 1>、1>>、>、>> |
标準錯誤輸出 | 2 | 2>、2>> |
管道
- 将一個程式或指令的輸出作為另一個程式或指令的輸入 ,有兩種方式
- 一種是通過一個暫存檔案将兩個指令或程式結合在一起
- 另一種為管道操作(|)
- 管道(|)可以把一系列指令連接配接起來
tee指令
- tee指令會從标準輸入裝置讀取資料,将其内容輸出到标準輸出裝置,同時儲存成檔案
- 文法格式:tee [-ai] [檔案]
- -a 内容追加到給定的檔案而非覆寫
- -i 忽略中斷信号
- 例如:ifconfig | tee ipconf.txt