Linux命令如何輸入輸出重定向、追加
簡介
本文介紹Linux中的輸入輸出重定向、追加。
Linux是通過文件描述符來控制輸入和輸出的,如下:
字段 | 描述 | 文件描述符 | 默認(rèn)設(shè)備 |
---|---|---|---|
stdin | 標(biāo)準(zhǔn)輸入流 | 0 | 終端(鍵盤) |
stdout | 標(biāo)準(zhǔn)輸出流 | 1 | 終端(顯示屏) |
stderr | 標(biāo)準(zhǔn)錯(cuò)誤輸出流 | 2 | 終端(顯示屏) |
重定向符號(hào)
重定向符號(hào) | 含義 | 使用方法 | 解釋 |
< | 輸入重定向 | command1 < file | command命令操作內(nèi)容會(huì)從file文件中讀取,替代了鍵盤輸入 |
<< | 輸入重定向,多行錄入 | command1 << flag | 將開始標(biāo)記flag和結(jié)束標(biāo)記flag之間的內(nèi)容作為輸入 |
> | 輸出重定向,覆蓋式 | command > file | 將輸出重定向到file |
>> | 輸出重定向,追加式 | command >> file | 將輸出以追加的方式重定向到file |
2> | 錯(cuò)誤輸出重定向,覆蓋式 | command 2> file | 將錯(cuò)誤輸出重定向到file |
2> | 錯(cuò)誤輸出重定向,追加式 | command 2> file | 將錯(cuò)誤輸出以追加的方式重定向到file |
&> | 輸出與錯(cuò)誤輸出重定向,覆蓋式 | command &> file | 輸出與錯(cuò)誤輸出重定向到file |
&>> | 輸出與錯(cuò)誤輸出重定向,追加式 | command &>> file | 輸出與錯(cuò)誤輸出以追加的方式重定向到file |
& | 合并 | command > file 2>&1 | 將標(biāo)準(zhǔn)輸出寫到file,標(biāo)準(zhǔn)錯(cuò)誤也寫到file。 |
輸入重定向
<
目標(biāo)
- 把test文件中的內(nèi)容定向到tr程序中,將小寫字母轉(zhuǎn)換為大寫字母。
命令
tr 'a-z' 'A-Z' < file1
- 重定向符號(hào)將file1里的內(nèi)容放到tr程序文件下的/fd/0里進(jìn)行相應(yīng)的處理。
- tr命令用于轉(zhuǎn)換或刪除文件中的字符。
執(zhí)行結(jié)果
<<
例1:展示在屏幕上
目標(biāo)
- 把多行錄入內(nèi)容定向到tr程序中,將小寫字母轉(zhuǎn)換為大寫字母。
命令
tr 'a-z' 'A-Z' <<EOF
- EOF可以用任意字符替換。
執(zhí)行結(jié)果
例2:轉(zhuǎn)換后輸出到文件
輸出重定向
>
>會(huì)覆蓋原文件內(nèi)容。
示例
1.將正常輸出寫入文件
./test.sh >log.txt
等價(jià)于
./test.sh 1>log.txt
2. 將錯(cuò)誤輸出寫入文件
./test.sh 2>log.txt
3.將所有輸出(正常和錯(cuò)誤輸出)都寫入文件
./test.sh &>log.txt
>>
>>會(huì)追加到原文件的最后。
1.將正常輸出寫入文件
./test.sh >>log.txt
等價(jià)于
./test.sh 1>>log.txt
2. 將錯(cuò)誤輸出寫入文件
./test.sh 2>>log.txt
3.將所有輸出(正常和錯(cuò)誤輸出)都寫入文件
./test.sh &>>log.txt
cmd >/dev/null 2>&1
- >/dev/null 2>&1 的含義是:不輸出任何信息。
- 其實(shí)也就等價(jià)于:&>/dev/null
詳解
- >/dev/null:表示標(biāo)準(zhǔn)輸出重定向到空設(shè)備文件,也就是不輸出任何信息。
- 2>&1:標(biāo)準(zhǔn)錯(cuò)誤輸出重定向和標(biāo)準(zhǔn)輸出合并,因?yàn)橹皹?biāo)準(zhǔn)輸出已經(jīng)重定向到了空設(shè)備文件,所以標(biāo)準(zhǔn)錯(cuò)誤輸出也重定向到空設(shè)備文件。
cmd >> file 2>&1
- 把尼奧準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤一起重定向到 file文件中(追加)。
- 其實(shí)也就等價(jià)于:&>>file
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux expect 自動(dòng)登錄交換機(jī)保存配置的方法
今天小編就為大家分享一篇linux expect 自動(dòng)登錄交換機(jī)保存配置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Linux命令搜索命令whereis與which的區(qū)別
這篇文章主要介紹了Linux命令搜索命令whereis與which的區(qū)別的相關(guān)資料,這里舉例說明該如何區(qū)別他們之家的用法,需要的朋友可以參考下2017-08-08CentOS 7中 Apache Web 服務(wù)器安裝配置教程
這篇文章主要介紹了CentOS 7中 Apache Web 服務(wù)器安裝配置教程,需要的朋友可以參考下2018-04-04