欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Linux培訓(xùn)分享Shell中重定向的深入講解

2019-04-11 11:15:11 2975瀏覽

如今參加Linux培訓(xùn)學(xué)習(xí)Linux開發(fā)技術(shù)的小伙伴在不斷的增加,本篇文章扣丁學(xué)堂Linux培訓(xùn)小編給小伙伴們分享一下Shell中重定向的深入講解,對Linux開發(fā)感興趣的小伙伴就隨小編一起學(xué)習(xí)學(xué)習(xí)吧。



扣丁學(xué)堂Linux培訓(xùn)分享Shell中重定向的深入講解



標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。


一個(gè)程序的的輸入可以來自于鍵盤,也可以來自于文件或者其他設(shè)備;同樣的,一個(gè)程序也可以將輸出顯示在屏幕或者保存到文件中。這就涉及到標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。


程序的輸入是標(biāo)準(zhǔn)輸入,默認(rèn)是鍵盤,用戶可以將其指定為文件或其他設(shè)備。


程序的輸出有兩種,即標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤,其中標(biāo)準(zhǔn)輸出是程序的正常輸出、標(biāo)準(zhǔn)錯(cuò)誤是程序的錯(cuò)誤輸出。二者默認(rèn)都被指定為屏幕,用戶可以將其指定為文件或其他設(shè)備。


下面的程序從鍵盤讀取輸入,將結(jié)果顯示在屏幕上,即標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤都采用默認(rèn)的設(shè)置:


$ ls ~
hello.txt homework name source.list.bk



重定向:


用戶可以對輸入和輸出進(jìn)行重定向,即指定標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。


標(biāo)準(zhǔn)輸入使用<進(jìn)行指定,下面的命令將input文件作為sort命令的輸入,即將sort命令的標(biāo)準(zhǔn)輸入重定向?yàn)閕nput文件:


$ cat input
zhao
qian
sun
li
zhou
wu
zheng
wang
$ sort < input
li
qian
sun
wang
wu
zhao
zheng
zhou


本例中input文件作為sort命令的標(biāo)準(zhǔn)輸入。


使用>重定向標(biāo)準(zhǔn)輸出:


$ ls ~ > output
$ cat output
hello.txt
homework
input
name
output
source.list.bk


如上所示,ls ~的標(biāo)準(zhǔn)輸出被重定向?yàn)閛utput,因此其輸出被寫入output文件。


需要注意的是,如果output不存在,將自動(dòng)創(chuàng)建output文件;如果output存在,那么將清空output的內(nèi)容,并寫入新的內(nèi)容。


如果只是想在輸出文件的已有內(nèi)容的末尾追加,可以使用>>:


$ date >> output
$ cat output
hello.txt
homework
input
name
output
source.list.bk
Sat Jun 30 18:18:53 CST 2019


下面的命令將標(biāo)準(zhǔn)輸入重定向?yàn)閕nput,將標(biāo)準(zhǔn)輸出重定向?yàn)閛utput:


$ sort < input > output # 覆蓋output內(nèi)容
$ sort < input >> output # 在output末尾追加內(nèi)容


件描述符


每個(gè)輸入源和輸出地都有一個(gè)描述符,標(biāo)準(zhǔn)輸入的描述符為0,標(biāo)準(zhǔn)輸出的描述符為1,標(biāo)準(zhǔn)錯(cuò)誤的描述符為2。


使用0<重定向標(biāo)準(zhǔn)輸入,事實(shí)上,由于程序的默認(rèn)重定向輸入即為標(biāo)準(zhǔn)輸入,所以下面的兩條命令是等價(jià)的:


$ sort < input
$ sort 0< input
     


同樣的,程序的默認(rèn)重定向輸出為標(biāo)準(zhǔn)輸出,所以下面的兩條命令也是等價(jià)的:


$ ls > output
$ ls 1> output


下面的命令將標(biāo)準(zhǔn)輸入重定向?yàn)閕nput文件,標(biāo)準(zhǔn)輸出重定向?yàn)閛utput文件(追加),將標(biāo)準(zhǔn)錯(cuò)誤重定向?yàn)閑rror文件:


$ sort < input 1>> output 2> error


組合標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤


下面的命令將標(biāo)準(zhǔn)輸出重定向?yàn)閛utput文件,標(biāo)準(zhǔn)錯(cuò)誤仍然顯示在屏幕上:


$ sort < input > output


下面的命令將標(biāo)準(zhǔn)輸出重定向?yàn)閛utput文件,將標(biāo)準(zhǔn)錯(cuò)誤重定向?yàn)閑rror文件:


$ sort < input > output 2> error


下面的命令將標(biāo)準(zhǔn)輸出重定向?yàn)閛utput文件,使用2>&1將標(biāo)準(zhǔn)錯(cuò)誤重定向?yàn)闃?biāo)準(zhǔn)輸出:


$ sort < input > output 2>&1


上面的例子中,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤都會(huì)被重定向?yàn)閛utput文件。


注意,下面的命令將導(dǎo)致標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤的相互覆蓋,因此不可使用:


$ sort < input > output 2> output


最后想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢,扣丁學(xué)堂有專業(yè)老師制定的Linux學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Linux視頻教程供大家學(xué)習(xí),想要學(xué)好Linux開發(fā)技術(shù)的同學(xué)請加入扣丁學(xué)堂Linux技術(shù)交流群:422345477。


                          


 【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入HTML5進(jìn)階免費(fèi)公開課】



查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>




標(biāo)簽: linux系統(tǒng)入門學(xué)習(xí) linux培訓(xùn) linux視頻教程 linux基礎(chǔ)教程 linux在線視頻 linux在線學(xué)習(xí) linux從入門到精通 linux開發(fā)環(huán)境包 linux系統(tǒng) linux開發(fā)教程

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部