新聞中心
Linux Shell 重定向分為兩種,一種輸入重定向,一種是輸出重定向;從字面上理解,輸入輸出重定向就是「改變輸入與輸出的方向」的意思,本篇文章重點講解一下shell中的輸出重定向,有需要的小伙伴可以參考一下。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的訥河網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
和輸出重定向一樣,Unix 命令也可以從文件獲取輸入,語法為:
command1
這樣,本來需要從鍵盤獲取輸入的命令會轉移到文件讀取內(nèi)容。
注意:輸出重定向是大于號(>),輸入重定向是小于號(
實例 接著以上實例,我們需要統(tǒng)計 users 文件的行數(shù),執(zhí)行以下命令:
$ wc -l users
2 users
也可以將輸入重定向到 users 文件:
$ wc -l
注意:上面兩個例子的結果不同:第一個例子,會輸出文件名;第二個不會,因為它僅僅知道從標準輸入讀取內(nèi)容。
command1 outfile
同時替換輸入和輸出,執(zhí)行command1,從文件infile讀取內(nèi)容,然后將輸出寫入到outfile中。
重定向深入講解
一般情況下,每個 Unix/Linux 命令運行時都會打開三個文件:
標準輸入文件(stdin):stdin的文件描述符為0,Unix程序默認從stdin讀取數(shù)據(jù)。 標準輸出文件(stdout):stdout 的文件描述符為1,Unix程序默認向stdout輸出數(shù)據(jù)。 標準錯誤文件(stderr):stderr的文件描述符為2,Unix程序會向stderr流中寫入錯誤信息。 默認情況下,command > file 將 stdout 重定向到 file,command
如果希望 stderr 重定向到 file,可以這樣寫:
$ command 2 > file
如果希望 stderr 追加到 file 文件末尾,可以這樣寫:
$ command 2 >> file
2 表示標準錯誤文件(stderr)。
如果希望將 stdout 和 stderr 合并后重定向到 file,可以這樣寫:
$ command > file 2>&1
或者
$ command >> file 2>&1
如果希望對 stdin 和 stdout 都重定向,可以這樣寫:
$ command file2
command 命令將 stdin 重定向到 file1,將 stdout 重定向到 file2。
網(wǎng)站名稱:詳解shell輸出重定向
文章URL:http://www.dlmjj.cn/article/cdgsjpj.html


咨詢
建站咨詢
