Red Flag Linux Desktop 6.0使用者手冊:定向和管道

來源:互聯網
上載者:User
關鍵字 Linux Desktop 使用者手冊

執行一個 Shell命令列通常會自動打開三個標準檔,即標準輸入檔(stdin),通常對應終端的鍵盤;標準輸出檔( stdout)和標準錯誤輸出檔案( stderr),這兩個檔都對應終端的螢幕。 進程從標準

輸入檔得到資料,將正常輸出資料輸出到標準輸出檔,而將錯誤資訊送到標準錯誤檔中。 下面以 cat命令為例, cat命令的功能是從命令列給出的檔中讀取資料,並將這些資料直接送到標準輸出。 例如命令:

$ cat config

將會把檔 config的內容依次顯示到螢幕上。 但是,如果 cat的命令列中沒有參數,它就會從標準輸入中讀取資料,並將其送到標準輸出。 例如:

$ cat

Hello world

Hello world

$

直接使用標準輸入/輸出檔存在以下問題:

資料從標準終端輸入時,輸入的資料只能用一次,下次再想用這些資料時就需要重新輸入,而且在終端上輸入時要修改有誤的輸入也很不方便;

輸出到終端螢幕上的資訊只能查看不能修改,使用者無法將輸出的內容進行更多處理,如將輸出作為另一命令的輸入進行進一步的處理等。 為解決上述問題,Linux系統為輸入、輸出的傳送引入了另外兩種機制,即輸入 /輸出重定向和管道。

8.4.1輸入重定向

輸入重定向是指把命令(或可執行程式)的標準輸入重定向到指定的檔中,即輸入可以不是來自于鍵盤,而來自于某個指定檔。 例如,命令 wc統計指定檔包含的行數、單詞數和字元數。 如果僅在命令列上鍵入:

$ wc

245

wc將等待使用者的輸入,這時 Shell好像死了一樣,從鍵盤鍵入的所有文本都出現在螢幕上,但並沒有什麼結果,直至按下<Ctrl+D>,wc才將命令結果寫在螢幕上。 如果給出一個檔案名作為 wc命令的參數,wc將返回該檔所包含的行數、單詞數和字元數。 另一種把/etc/passwd檔內容傳給 wc命令的方法是重定向 wc的輸入。 輸入重定向的一般形式為:命令<檔案名可以用下面的命令把 wc命令的輸入重定向為 /etc/passwd檔:

$ wc < /etc/passwd

20 23 726

大多數命令都以參數的形式在命令列指定輸入檔的檔案名,所以輸入重定向並不經常使用。 儘管如此,當使用一個不接受檔案名作為輸入參數的命令,或需要的輸入內容存在於一個檔裡時,就能用輸入重定向HTTP://www.aliyun.com/zixun/aggregation/7432.html">解決問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.