Linux系統中輸入與輸出的定義
輸入:
Stdin[標準輸入流]
- 輸入是指系統外接向系統中傳遞的信息
系統外接向系統中傳遞數據的方式如下
- 鍵盤
- 鼠標
- 輸入命令
輸出
stdout[標準正確輸出]
- 在命令順利執行完成後產生的字符串
- stdout在Linux中的輸出編號爲1
stderr[標準錯誤輸出]
- 在命令失敗執行完成後產生的字符串
- stderr在Linux中的輸出編號爲2
字符設備
- 字符設備是指在I/O傳輸過程中以字符爲單位進行傳輸的設備,例如鍵盤,打印機等
- 字符設備是內存中開啓的虛擬設備並出真實存在
重定向輸出
重定向輸出的方法
符號 | 用途 |
---|---|
> | 重定向正確輸出 |
2> | 重定向錯誤輸出 |
&> | 重定向所有輸出 |
find /etc/ -name passwd ##全部顯示
find /etc/ -name passwd >right.out ##把正確的輸出並保存到right.out文件
find /etc/ -name passwd 2>wrong.out ##把錯誤的輸出並保存到wrong.out文件
find /etc/ -name passwd &>all.out ##把全部輸出並保存到all.out文件
注意:
重定向會覆蓋源文件內容
- 原命令顯示出來的
- 把正確的輸出並且保存到right.out文件
- 把錯誤的輸出並且保存到wrong.out文件
- 把全部輸出並且保存到all.out文件
- 把錯誤的刪除不顯示出來
find /etc/ -name passwd 2> /dev/null
追加輸出
追加符號
符號 | 用途 |
---|---|
>> | 追加正確輸出 |
2>> | 追加錯誤輸出 |
&>> | 追加全部輸出 |
echo hello world >> myr ##把hello world 追加到myr文件
find /etc/ -name passwd >>myr ##把正確的追加到myr文件
find /etc/ -name passwd 2>>myr ##把錯誤的追加到myr文件
find /etc/ -name passwd &>>myr ##把全部追加到myr文件
管道
管道定義
- 把輸出變成後一條命令的輸入
管道的相關符號
符號 | 用途 |
---|---|
︳ | 管道符 |
2>&1 | 將編號爲1的輸出轉換爲2 |
tee | 複製輸出到指定位置 |
ls /bin | wc -l ##統計/bin中有多少文件
find /etc/ -name passwd | wc -l ##默認只有正確的
find /etc/ -name passwd 2>&1 | wc -l ##把錯誤的正確的都輸出並統計
find /etc/ -name passwd 2>&1 | tee file1 | wc -l ## 將輸出內容複製到file1並且保存
輸出重定向
輸入重定向
- 用符號從文件中獲取輸入
輸入重定向符號
- command << [輸入標識]
- 內容
- …
- …
- [輸入標識]