linux(3)

1.輸出兩種類型

  • 程序運行結果 – 輸送到一個叫做標準輸出的特殊文件(stdout)
  • 得到的狀態和錯誤信息 – 標準錯誤的文件(stderr)

注:標準輸出和標準錯誤都連接到屏幕,而不是保存到磁盤

2.標準輸入

許多程序從標準輸入的設備得到輸入,默認標準輸入連接到鍵盤

一般地,輸出送到屏幕,輸入來自鍵盤,但是通過 I/O 重定向,我們可以改變輸入輸出方向。

3.重定向標準輸出

使用 ” > ” 符號

將ls命令運行結果輸送到文件 ls-output.txt

$ ls -l /usr/bin > ls-output.txt

刪除文件內容或創建新的空文件

$ > ls-output.txt

將重定向結果追加到文件內容後面,文件不存在會新建

$ ls -l /usr/bin >> ls-output.txt

4.重定向標準錯誤

重定向標準錯誤缺乏專用的重定向操作符,必須 參考它的文件描述符。一個程序可以在幾個編號的文件流中任何一個上產生輸出。把這些文件流的前三個看作標準輸入、輸出、錯誤,shell內部參考它們爲文件描述符0、1、2。

$ ls -l /bin/usr 2> ls-error.txt

5.重定向標準輸出和錯誤到同一文件

$ ls -l /bin/usr > ls-output.txt 2>&1

注:標準錯誤的重定向必須總是出現在標準輸出重定向之後,要不然它不起作用

單單一個表示法 &> 來重定向標準輸出和錯誤到文件 lsoutput.txt
//方法2

$ ls -l /bin/usr &> ls-output.txt

6.處理不需要的輸出

隱瞞錯誤信息

$ ls -l /bin/usr 2> /dev/null

注:“/dev/null”這個文件是系統設備,叫做位存儲桶,它可以接受輸入,並且對輸入不做任何處理。
7.cat – 連接文件

讀取一個或多個文件,然後複製它們到標準輸出

cat [file]

如果 cat 沒有給出任何參數,它會從標準輸入讀入數據

$ cat > lazy_dog.txt
The quick brown fox jumped over the lazy dog.

下一步,輸入 Ctrl-d(按住 Ctrl 鍵同時按下 “d”),來告訴 cat,在標準輸入中,它已經到達文件末尾(EOF)

使用“<”重定向操作符,我們把標準輸入源從鍵盤改到文件 lazy dog.tx

$ cat < lazy_dog.txt
The quick brown fox jumped over the lazy dog.

8.wc -打印行,字和字節數

$ wc ls-output.txt
7902 64566 503634 ls-output.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章