主頁 > 知識庫 > 神奇的shell命令行輸入與輸出功能介紹

神奇的shell命令行輸入與輸出功能介紹

熱門標簽:百度地圖標注錯了有責任嗎 揭陽智能電話機器人推薦 打電話機器人接我是他的秘書 地圖標注員都是年輕人 如果做線上地圖標注 江蘇云電銷機器人公司 客服外呼系統(tǒng)怎么樣 河南信譽好的不封卡電話外呼系統(tǒng) 華鋒e路航港口地圖標注
標準輸入/輸出和重定向,Linux發(fā)行版Fedora Core Linux,而Red Hat公司原來Red Hat Linux的開發(fā)團隊也將繼續(xù)參與這一發(fā)行版本的開發(fā)工作。

標準輸入與輸出

我們知道,執(zhí)行一個shell命令行時通常會自動打開三個標準文件,即標準輸入文件(stdin),通常對應終端的鍵盤;標準輸出文件(stdout)和標準錯誤輸出文件(stderr),這兩個文件都對應終端的屏幕。進程將從標準輸入文件中得到輸入數(shù)據(jù),將正常輸出數(shù)據(jù)輸出到標準輸出文件,而將錯誤信息送到標準錯誤文件中。
我們以cat命令為例,cat命令的功能是從shell命令行給出的文件中讀取數(shù)據(jù),并將這些數(shù)據(jù)直接送到標準輸出。若使用如下命令:
$ cat config 將會把文件config的內(nèi)容依次顯示到屏幕上。但是,如果cat的shell命令行中沒有參數(shù),它就會從標準輸入中讀取數(shù)據(jù),并將其送到標準輸出。例如:
$ cat
Hello world
Hello world
Bye
Bye

用戶輸入的每一行都立刻被cat命令輸出到屏幕上。另一個例子,命令sort按行讀入文件正文(當shell命令行中沒有給出文件名時,表示從標準輸入讀入),將其排序,并將結果送到標準輸出。下面的例子是從標準輸入讀入一個采購單,并將其排序。
$ sort
bananas
carrots
apples
bananas
carrots

這時我們在屏幕上得到了已排序的采購單。直接使用標準輸入/輸出文件存在以下問題:輸入數(shù)據(jù)從終端輸入時,用戶費了半天勁輸入的數(shù)據(jù)只能用一次。下次再想用這些數(shù)據(jù)時就得重新輸入。而且在終端上輸入時,若輸入有誤修改起來不是很方便。輸出到終端屏幕上的信息只能看不能動。我們無法對此輸出作更多處理,如將輸出作為另一命令的輸入進行進一步的處理等。為了解決上述問題,Linux系統(tǒng)為輸入、輸出的傳送引入了另外兩種機制,即輸入/輸出重定向和管道。

輸入重定向

輸入重定向是指把命令(或可執(zhí)行程序)的標準輸入重定向到指定的文件中。也就是說,輸入可以不來自鍵盤,而來自一個指定的文件。所以說,輸入重定向主要用于改變一個命令的輸入源,特別是改變那些需要大量輸入的輸入源。例如,命令wc統(tǒng)計指定文件包含的行數(shù)、單詞數(shù)和字符數(shù)。如果僅在shell命令行上鍵入:

$wc

wc將等待用戶告訴它統(tǒng)計什么,這時shell就好象死了一樣,從鍵盤鍵入的所有文本都出現(xiàn)在屏幕上,但并沒有什么結果,直至按下<ctrl+d>,wc才將命令結果寫在屏幕上。如果給出一個文件名作為wc命令的參數(shù),如下例所示,wc將返回該文件所包含的行數(shù)、單詞數(shù)和字符數(shù)。

$ wc /etc/passwd
20 23 726 /etc/passwd 另一種把/etc/passwd文件內(nèi)容傳給wc命令的方法是重定向wc的輸入。輸入重定向的一般形式為:命令文件名。可以用下面的命令把wc命令的輸入重定向為/etc/passwd文件:
$ wc /etc/passwd
20 23 726

另一種輸入重定向稱為here文檔,它告訴shell當前命令的標準輸入來自shell命令行。here文檔的重定向操作符使用。它將一對分隔符(本例中用delim表示)之間的正文重定向輸入給命令。下例將一對分隔符delim之間的正文作為wc命令的輸入,統(tǒng)計出正文的行數(shù)、單詞數(shù)和字符數(shù)。
$ wc>this text forms the content
>of the here document,which
>continues until the end of
>text delimter
>delim

在操作符后面,任何字符都可以作為正文開始前的分隔符,本例中使用delim作為分隔符。here文檔的正文一直延續(xù)到遇見另一個分隔符為止。第二個分隔符應出現(xiàn)在新行的開頭。這時here文檔的正文(不包括開始和結束的分隔符)將重新定向送給命令wc作為它的標準輸入。
以上對shell命令行的使用。

您可能感興趣的文章:
  • 關于shell命令的定向輸出 2gt;1
  • 用shell命令讀取與輸出數(shù)據(jù)的代碼
  • 遠程linux xshell下輸出中文亂碼解決方法
  • linux c程序中獲取shell腳本輸出的實現(xiàn)方法
  • linux shell的輸出效果修改方法(界面顏色)
  • Shell腳本對文件中的行、單詞、字符進行迭代輸出示例
  • shell腳本echo輸出不換行功能增強實例
  • 一個簡單的轉換輸出的shell腳本代碼
  • shell學習之printf命令格式化輸出語句

標簽:赤峰 許昌 淘寶邀評 巴彥淖爾 馬鞍山 婁底 金昌 邵陽

巨人網(wǎng)絡通訊聲明:本文標題《神奇的shell命令行輸入與輸出功能介紹》,本文關鍵詞  神奇,的,shell,命令行,輸入,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《神奇的shell命令行輸入與輸出功能介紹》相關的同類信息!
  • 本頁收集關于神奇的shell命令行輸入與輸出功能介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章