全國服務熱線:
0791-88196636

南昌莫非網絡:Linux中的幾種標準文件描述符詳細介紹

 二維碼 61836
發(fā)表時間:2016-06-16 10:58作者:南昌網站建設來源:南昌莫非網絡科技公司網址:http://m.what-ismyip.com

南昌莫非網絡:Linux中的幾種標準文件描述符詳細介紹.

Linux系統(tǒng)將每個對象當作文件處理,這包括輸入和輸出進程。Linux用文件描述符(file descriptor)來標識每個文件對象。文件描述符是一個非負整數(shù),可以**標識會話中打開的文件。每個進程一次多可以有九個文件描述符。出于特殊目的,bash shell保留了前三個文件描述符(0、1和2),詳情見下表。


Linux的標準文件描述符

這三個特殊文件描述符會處理腳本的輸入和輸出。shell用它們將shell默認的輸入和輸出導向到相應的位置。下面南昌網站建設公司-南昌莫非網絡科技就來為大家介紹一下這些標準文件描述符,供大家參考!


一、STDIN

STDIN文件描述符代表shell的標準輸入。對終端界面來說,標準輸入是鍵盤。shell從STDIN 文件描述符對應的鍵盤獲得輸入,在用戶輸入時處理每個字符。

在使用輸入重定向符號(<)時,Linux會用重定向指定的文件來替換標準輸入文件描述符。 它會讀取文件并提取數(shù)據,就如同它是鍵盤上鍵入的。

許多bash命令能接受STDIN的輸入,尤其是沒有在命令行上指定文件的話。下面是個用cat 命令處理STDIN輸入的數(shù)據的例子。

$ cat

this is a test

this is a test

this is a second test.

this is a second test.

當在命令行上只輸入cat命令時,它會從STDIN接受輸入。輸入一行,cat命令就會顯示出 一行。

但你也可以通過STDIN重定向符號強制cat命令接受來自另一個非STDIN文件的輸入。

$ cat < testfile

This is the first line.

This is the second line.

This is the third line.

$

現(xiàn)在cat命令會用testfile文件中的行作為輸入。你可以使用這種技術將數(shù)據輸入到任何能從 STDIN接受數(shù)據的shell命令中。


二、STDOUT

STDOUT文件描述符代表shell的標準輸出。在終端界面上,標準輸出就是終端顯示器。shell 的所有輸出(包括shell中運行的程序和腳本)會被定向到標準輸出中,也就是顯示器。

默認情況下,大多數(shù)bash命令會將輸出導向STDOUT文件描述符。同時,你也可以用輸出重定向來改變。

$ ls -l > test2

$ cat test2

total 20

-rw-rw-r-- 1 rich rich 53 2014-10-16 11:30 test

-rw-rw-r-- 1 rich rich 0 2014-10-16 11:32 test2

-rw-rw-r-- 1 rich rich 73 2014-10-16 11:23 testfile

$

通過輸出重定向符號,通常會顯示到顯示器的所有輸出會被shell重定向到指定的重定向文件。你也可以將數(shù)據追加到某個文件。這可以用>>符號來完成。

$ who >> test2

$ cat test2

total 20

-rw-rw-r-- 1 rich rich 53 2014-10-16 11:30 test

-rw-rw-r-- 1 rich rich 0 2014-10-16 11:32 test2

-rw-rw-r-- 1 rich rich 73 2014-10-16 11:23 testfile

rich pts/0 2014-10-17 15:34 (192.168.1.2)

$

who命令生成的輸出會被追加到test2文件中已有數(shù)據的后面。 但是,如果你對腳本使用了標準輸出重定向,你會遇到一個問題。下面的例子說明了可能會出現(xiàn)什么情況。

$ ls -al badfile > test3

ls: cannot access badfile: No such file or directory

$ cat test3

$

當命令生成錯誤消息時,shell并未將錯誤消息重定向到輸出重定向文件。shell創(chuàng)建了輸出重 定向文件,但錯誤消息卻顯示在了顯示器屏幕上。注意,在顯示test3文件的內容時并沒有任何錯誤。test3文件創(chuàng)建成功了,只是里面是空的。

shell對于錯誤消息的處理是跟普通輸出分開的。如果你創(chuàng)建了在后臺模式下運行的shell腳本,通常你必須依賴發(fā)送到日志文件的輸出消息。用這種方法的話,如果出現(xiàn)了錯誤信息,這些信息是不會出現(xiàn)在日志文件中的。你需要換種方法來處理。


三、STDERR

shell通過特殊的STDERR文件描述符來處理錯誤消息。STDERR文件描述符代表shell的標準錯誤輸出。shell或shell中運行的程序和腳本出錯時生成的錯誤消息都會發(fā)送到這個位置。

默認情況下,STDERR文件描述符會和STDOUT文件描述符指向同樣的地方(盡管分配給它們的文件描述符值不同)。也就是說,默認情況下,錯誤消息也會輸出到顯示器輸出中。

但從上面的例子可以看出,STDERR并不會隨著STDOUT的重定向而發(fā)生改變。使用腳本時,你常常會想改變這種行為,尤其是當你希望將錯誤消息保存到日志文件中的時候。

以上就是南昌網絡公司莫非傳媒為大家介紹的關于Linux中的三種標準文件描述符,大家可以了解一下,希望對大家今后的學習有所幫助。

企業(yè)新聞
關于南昌莫非網絡科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3號(星期一)放假,共計三天(無調休),1月4日(星期二)上班。
關于南昌莫非網絡科技公司2021年國慶節(jié)放假安排通知。根據《國務院辦公廳關于2021年部分節(jié)假日安排的通知》(國辦發(fā)明電〔2020〕27號),結合我單位工作實際情況,現(xiàn)就2021年國慶放假的有關事項安排如下。
南昌莫非網絡科技公司2021年中秋節(jié)放假通知.一、假期從:2021年09月19日到2021年09月21日結束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有緊急情況,請各位同仁及時配合相關部門主管人員把事情處理妥善。做好防火、防盜工作并督促各部門關好辦公區(qū)域的門、窗等。
根據《國務院辦公廳關于2021年部分節(jié)假日安排的通知》(國辦發(fā)明電〔2020〕27號),結合我單位工作實際情況,現(xiàn)就2021年端午節(jié)放假的有關事項安排如下:一、放假時間:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非網絡科技公司2021年五一勞動節(jié)放假通知.現(xiàn)就2021年五一勞動節(jié)放假的有關事項安排如下:一、放假時間,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非網絡科技公司2021年清明節(jié)放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期間,各項業(yè)務照常運行,售后問題您可以直接相關負責人提交服務單,技術人員將在12小時之內處理。
關于南昌莫非網絡科技公司2021年春節(jié)放假安排通知.一、春節(jié)放假時間:2021年2月5日(農歷臘月二十四)至2021年2月18日(農歷正月初七)放假,共13天,2月19日(星期五)開始上班,2月21日星期日(農歷正月初十)恢復正常上班。由于疫情,假期時間可能會有所變化,具體以通知為準。
關于南昌莫非網絡科技公司2021年01月01日元旦放假通知。一、放假時間:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期間如有相關業(yè)務及服務事宜敬請撥打我司24小時服務熱線:0791-8819-6636或咨詢客服QQ:2401077293,可隨時與我司進行聯(lián)系。
南昌莫非網絡科技公司2020年中秋節(jié)+國慶節(jié)放假通知。根據《國務院辦公廳關于2020年部分節(jié)假日安排的通知》,為了讓大家度過一個充實、平安的假期,現(xiàn)把2020年中秋國慶放假時間及溫馨提示通知如下!
南昌莫非網絡科技公司2020年五一放假通知.在過去的歲月里,南昌莫非網絡科技公司與新老客戶一直保持著愉快的合作,這離不開大家的鼎立支持和幫助。在未來的日子里還需要更多朋友們的支持與幫助,希望你們能始終如一的支持南昌莫非網絡科技,并提出您寶貴的意見及建議。
南昌莫非網絡科技公司2020年春節(jié)寒假放假安排通知。南昌莫非網絡科技公司提前祝全國合作伙伴新春快樂、闔家幸福!預祝全體員工春節(jié)快樂!
南昌莫非網絡科技公司2020年元旦節(jié)放假安排通知.元旦將至,南昌莫非網絡科技公司預祝全體員工元旦快樂!現(xiàn)將2020年元旦節(jié)放假安排通告如下:一、放假時間:2020年1月1日,共1天。
網站建設行業(yè)方案
網站維護知識
網站制作常見問題
SEO網站優(yōu)化教程
踏上云端,轉型升級融入互聯(lián)網時代,現(xiàn)在就聯(lián)系我們吧!
——      我們時刻為你提供更多優(yōu)質互聯(lián)網技術服務      ——
姓名:
*
聯(lián)系方式:
*
咨詢項目:
內容:
*
在線留言
關于我們:南昌莫非文化傳媒有限公司(簡稱:莫非傳媒)專注于網站建設,網站SEO優(yōu)化,小程序制作。提供全方位用戶體驗規(guī)劃,品牌形象設計服務。為每一位企業(yè)客戶的成長、騰飛助力!        網站建設、網站設計、網站制作、網站開發(fā),就選網站建設公司-南昌莫非傳媒!
掃一掃微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖區(qū)洪城路6號國貿廣場A座巨豪峰
業(yè)務咨詢  :  
272482065
售后服務 :
2401077293
服務熱線:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________