最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell中重定向的深入講解

 更新時間:2018年07月01日 10:39:09   作者:mwangjs  
這篇文章主要給大家介紹了關(guān)于Shell中重定向的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用shell具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤

一個程序的的輸入可以來自于鍵盤,也可以來自于文件或者其他設(shè)備;同樣的,一個程序也可以將輸出顯示在屏幕或者保存到文件中。這就涉及到標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤。

程序的輸入是標(biāo)準(zhǔn)輸入,默認是鍵盤,用戶可以將其指定為文件或其他設(shè)備。

程序的輸出有兩種,即標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤,其中標(biāo)準(zhǔn)輸出是程序的正常輸出、標(biāo)準(zhǔn)錯誤是程序的錯誤輸出。二者默認都被指定為屏幕,用戶可以將其指定為文件或其他設(shè)備。

下面的程序從鍵盤讀取輸入,將結(jié)果顯示在屏幕上,即標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤都采用默認的設(shè)置:

$ ls ~
hello.txt homework name source.list.bk

重定向

用戶可以對輸入和輸出進行重定向,即指定標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤。

標(biāo)準(zhǔn)輸入使用<進行指定,下面的命令將input文件作為sort命令的輸入,即將sort命令的標(biāo)準(zhǔn)輸入重定向為input文件:

$ cat input
zhao
qian
sun
li
zhou
wu
zheng
wang
$ sort < input
li
qian
sun
wang
wu
zhao
zheng
zhou

本例中input文件作為sort命令的標(biāo)準(zhǔn)輸入。

使用>重定向標(biāo)準(zhǔn)輸出:

$ ls ~ > output
$ cat output
hello.txt
homework
input
name
output
source.list.bk

如上所示,ls ~的標(biāo)準(zhǔn)輸出被重定向為output,因此其輸出被寫入output文件。

需要注意的是,如果output不存在,將自動創(chuàng)建output文件;如果output存在,那么將清空output的內(nèi)容,并寫入新的內(nèi)容。

如果只是想在輸出文件的已有內(nèi)容的末尾追加,可以使用>>:

$ date >> output
$ cat output
hello.txt
homework
input
name
output
source.list.bk
Sat Jun 30 18:18:53 CST 2018

下面的命令將標(biāo)準(zhǔn)輸入重定向為input,將標(biāo)準(zhǔn)輸出重定向為output:

$ sort < input > output # 覆蓋output內(nèi)容
$ sort < input >> output # 在output末尾追加內(nèi)容

文件描述符

每個輸入源和輸出地都有一個描述符,標(biāo)準(zhǔn)輸入的描述符為0,標(biāo)準(zhǔn)輸出的描述符為1,標(biāo)準(zhǔn)錯誤的描述符為2。

使用0<重定向標(biāo)準(zhǔn)輸入,事實上,由于程序的默認重定向輸入即為標(biāo)準(zhǔn)輸入,所以下面的兩條命令是等價的:

$ sort < input
$ sort 0< input

同樣的,程序的默認重定向輸出為標(biāo)準(zhǔn)輸出,所以下面的兩條命令也是等價的:

$ ls > output
$ ls 1> output

下面的命令將標(biāo)準(zhǔn)輸入重定向為input文件,標(biāo)準(zhǔn)輸出重定向為output文件(追加),將標(biāo)準(zhǔn)錯誤重定向為error文件:

$ sort < input 1>> output 2> error

組合標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤

下面的命令將標(biāo)準(zhǔn)輸出重定向為output文件,標(biāo)準(zhǔn)錯誤仍然顯示在屏幕上:

$ sort < input > output

下面的命令將標(biāo)準(zhǔn)輸出重定向為output文件,將標(biāo)準(zhǔn)錯誤重定向為error文件:

$ sort < input > output 2> error

下面的命令將標(biāo)準(zhǔn)輸出重定向為output文件,使用2>&1將標(biāo)準(zhǔn)錯誤重定向為標(biāo)準(zhǔn)輸出:

$ sort < input > output 2>&1

上面的例子中,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤都會被重定向為output文件。

注意,下面的命令將導(dǎo)致標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤的相互覆蓋,因此不可使用:

$ sort < input > output 2> output

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Linux?字段連接?join?命令使用小結(jié)

    Linux?字段連接?join?命令使用小結(jié)

    join命令是Linux系統(tǒng)中的一個文本處理工具,它用于將兩個文件的行按照共同的字段連接起來,這篇文章主要介紹了Linux字段連接join命令使用指南,需要的朋友可以參考下
    2023-06-06
  • Linux 中常用的sed命令

    Linux 中常用的sed命令

    sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。接下來通過本文給大家介紹Linux 中常用的sed命令,感興趣的朋友一起看看吧
    2017-09-09
  • 對Linux下shell編程之for循環(huán)的實例講解

    對Linux下shell編程之for循環(huán)的實例講解

    今天小編就為大家分享一篇對Linux下shell編程之for循環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 比較兩個字符串是否相等的shell代碼

    比較兩個字符串是否相等的shell代碼

    比較兩個字符串是否相等的shell代碼,需要的朋友可以參考下
    2013-02-02
  • shell sleep睡眠命令的具體使用

    shell sleep睡眠命令的具體使用

    本文主要介紹了shell sleep睡眠命令的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Shell全局變量、局部變量與特殊變量的具體使用

    Shell全局變量、局部變量與特殊變量的具體使用

    本文主要介紹了Shell全局變量、局部變量與特殊變量的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 實戰(zhàn)模擬監(jiān)控MySQL服務(wù)shell腳本小結(jié)

    實戰(zhàn)模擬監(jiān)控MySQL服務(wù)shell腳本小結(jié)

    老男孩shell培訓(xùn)課上帶領(lǐng)學(xué)生練習(xí)shell開發(fā)if語句時的幾個小例子和大家分享,需要的朋友可以參考下
    2016-05-05
  • shell腳本設(shè)置日志格式的方法

    shell腳本設(shè)置日志格式的方法

    本文給大家分享shell腳本設(shè)置日志格式的相關(guān)知識,設(shè)置日志級別并輸出對應(yīng)日志,文中還給大家提到了shell輸出格式化日志信息的腳本,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • 基于shell腳本中cd命令無效的解決方法

    基于shell腳本中cd命令無效的解決方法

    今天小編就為大家分享一篇基于shell腳本中cd命令無效的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 如何解決 shell 腳本重復(fù)執(zhí)行的問題

    如何解決 shell 腳本重復(fù)執(zhí)行的問題

    假如執(zhí)行備份腳本消耗的時間遠大于設(shè)置的備份間隔的話,系統(tǒng)會出現(xiàn)多個同時在執(zhí)行腳本的Bash實例,會占用大量的系統(tǒng)資源,進而影響正常業(yè)務(wù)程序的運行,那如何解決上述shell腳本重復(fù)執(zhí)行的問題呢,本文將要介紹的 flock 命令可以解決這個問題
    2021-05-05

最新評論

宿松县| 大港区| 杂多县| 堆龙德庆县| 阳谷县| 莫力| 万安县| 彰化县| 墨玉县| 德昌县| 上栗县| 邹平县| 武宁县| 兰西县| 榆树市| 金寨县| 文水县| 嘉善县| 杭锦后旗| 慈溪市| 辽中县| 湘乡市| 禄劝| 资中县| 邹城市| 印江| 和林格尔县| 金塔县| 松阳县| 平陆县| 永新县| 巴林左旗| 博罗县| 平山县| 宝鸡市| 汝阳县| 富裕县| 来宾市| 成都市| 云浮市| 健康|