自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix標(biāo)準(zhǔn)輸入/輸出 (I/O) 流知識講解

系統(tǒng) 其他OS
文章中,我們會了解當(dāng)您在 Shell 中使用 < 操作符將程序輸入重定向到文件時,就可以將該文件中的內(nèi)容輸入到該程序的標(biāo)準(zhǔn)輸入 (stdin) 流。

學(xué)習(xí)過了很多的Unix系統(tǒng)的知識以后,我們需要了解如何獲得文本。并且在進(jìn)行這項工作之前,需要了解 Unix標(biāo)準(zhǔn)輸入/輸出 (I/O) 流。

Unix標(biāo)準(zhǔn) C 庫(因而,每個 Unix 程序)定義了三種Unix標(biāo)準(zhǔn)流:輸入、輸出和錯誤。有時將它們稱為 stdin、stdout 和 stderr,這是在所有 C 程序中用來表示它們的全局變量。

當(dāng)您在 Shell 中使用 > 操作符將程序輸出重定向到文件時,就可以將它的Unix標(biāo)準(zhǔn)輸出 (stdout) 流發(fā)送到這個文件。例如:ls > this-dir 將 ls 的輸出發(fā)送到一個名為 this-dir 的文件。

當(dāng)您在 Shell 中使用 < 操作符將程序輸入重定向到文件時,就可以將該文件中的內(nèi)容輸入到該程序的標(biāo)準(zhǔn)輸入 (stdin) 流。例如:sort < this-dir 可以從名為 this-dir 的文件中讀取內(nèi)容,并將其作為 sort 命令的輸入。

另一個常用于重定向標(biāo)準(zhǔn)流的操作符是“|”(管道)操作符,它可以將左側(cè)程序的Unix標(biāo)準(zhǔn)輸出流連接到右側(cè)程序的標(biāo)準(zhǔn)輸入流。例如:ls | sort 和前面的兩個示例完成相同的任務(wù),并且無需臨時文件,ls 的輸出直接進(jìn)入 sort 命令。

如果您仔細(xì)觀察,那么可能會發(fā)現(xiàn),前面的這些示例中并沒有出現(xiàn)標(biāo)準(zhǔn)錯誤 (stderr) 流。與Unix標(biāo)準(zhǔn)輸出流一樣,可以對 stderr 進(jìn)行重定向或使用管道進(jìn)行傳輸,但是您需要告訴 Shell 您希望處理 stderr 而不是 stdout。

可以使用 2> 操作符將Unix標(biāo)準(zhǔn)錯誤流重定向到文件。在處理生成有用的錯誤輸出的命令時,您經(jīng)常會看到這個操作符,比如用于編譯 Unix 程序的 make 工具:make 2> build-errors。

這個命令運(yùn)行了 make,并將任何錯誤信息發(fā)送到 build-errors 文件。與之類似,您可以使用 2| 將 stderr 通過管道傳遞到另一個程序。

如果您對具體的細(xì)節(jié)感興趣,那么其他的流也有與之對應(yīng)的數(shù)字,盡管很少使用到它們(0 表示標(biāo)準(zhǔn)輸入,1 表示標(biāo)準(zhǔn)輸出),除了在一個非常常見的操作符中。

在清單 1 所示的示例中,2>&1 操作符將Unix標(biāo)準(zhǔn)錯誤流連接 到Unix標(biāo)準(zhǔn)輸出流。與 > 操作符組合在一起,您可以使 stderr 和 stdout 輸出到相同的文件中。

CODE:清單 1. 將標(biāo)準(zhǔn)錯誤流連接到標(biāo)準(zhǔn)輸出流
make > build-output 2>&1

【編輯推薦】

  1. Unix awk的內(nèi)置函數(shù)知識概括
  2. 關(guān)于Unix awk的記錄的知識講解
  3. Unix awk的調(diào)用方式方面的知識介紹
  4. Unix awk使用手冊修改版本
  5. 為什么要使用Unix awk
責(zé)任編輯:小霞
相關(guān)推薦

2010-05-05 13:13:55

Unix內(nèi)核

2010-05-04 09:22:10

Unix文件

2010-05-05 13:45:21

Unix Telnet

2010-04-30 13:27:26

Unix cronta

2010-05-04 12:25:28

Unix鏈接

2010-04-30 13:38:51

Unix at命令

2016-08-23 17:21:51

UnixLinux重定向

2010-05-05 10:44:37

Unix 反引號

2010-05-04 16:33:39

Unix系統(tǒng)

2010-05-05 15:02:39

Unix系統(tǒng)

2010-04-21 14:29:52

Unix 線程

2010-04-21 12:39:48

Unix 消息隊列

2010-05-04 09:45:28

Unix系統(tǒng)

2010-04-30 18:20:23

Unix系統(tǒng)

2010-04-13 17:52:16

Unix交換區(qū)

2010-05-05 13:22:29

Unix Shell

2018-11-05 11:20:54

緩沖IO

2010-04-30 01:28:59

Unix系統(tǒng)

2010-04-20 11:34:26

Unix操作系統(tǒng)

2010-04-21 13:47:45

Unix內(nèi)核
點贊
收藏

51CTO技術(shù)棧公眾號