bash功能特性五 重定向和管道

一、管道

    使用“|”符號來實現管道功能;管道可以實現在一行中處理使用管道符號連接的多個命令,后面的命令使用前面命令的輸出結果做為處理對象。

1.png

2.png

二、數據流重定向

    數據輸入和輸出的類型:

        標準輸入(stdin):代碼為0,默認設備為鍵盤;

        標準輸出(stdout):代碼為1,默認設備為顯示器;

        標準錯誤輸出(stderr):代碼為2,默認設備為顯示器。

    重定向就是將數據不使用默認的設備進行輸入或輸出。

    1、輸出重定向

        標準輸出重定向:

            COMMAND > POSITION:覆蓋輸出

            COMMAND >> POSITION:追加輸出

1.png

2.png

3.png

        標準錯誤重定向:

            COMMAND 2> POSITION:覆蓋輸出

            COMMAND 2>> POSITION:追加輸出

4.png

        標準錯誤的追加重定向與標準輸出的追加重定向相類似,此處不再進行演示。

        合并重定向:

            COMMAND &> POSITION

            COMMAND > POSITION 2> &1

4.png

        分別重定向:

            COMMAND > POSITION 2> POSITION2

5.png

    2、輸入重定向

        COMMAND < FILE:以FILE中的內容來替代鍵盤輸入;

        COMMAND << STRING:以STRING為輸入結束符;

6.png

7.png

    3、重定向的應用

        輸入重定向經常用于不能處理參數的命令,例如tr命令。

        tr命令格式:tr [OPTION]… SET1 [SET2] 

        作用:用于刪除文字或進行文字的替換。

            OPTIONS:

                -d:刪除指定的字符;

                -s:替換掉重復的字符;

8.png1.png    4、多道輸出

        使用tee命令來實現多道輸出,即將命令的結果在屏幕上顯示的同時,也在指定的文件中保存;使用-a選項可以在文件中追加重定向的內容。

7.png

    5、數據黑洞

       所有流向數據黑洞的數據都將被丟棄,使用/dev/null這個設備來實現此功能。

1.png

    6、重定向的控制

        set -C  關閉輸出重定向的覆蓋功能

        set +C 打開輸出重寫向的覆蓋功能

        >|:在關閉了輸出重定向的覆蓋功能時,依然執行覆蓋操作

2.png

 

原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/3262

(0)
petmasterpetmaster
上一篇 2015-04-21
下一篇 2015-04-22

相關推薦

  • 文本處理工具-awk

    文本處理工具awk awk的名字由來:創始人Aho, Weinberger, Kernighan三人的首字母 有多種版本:New awk(nawk),GNU awk(gawk)  一.gawk   模式掃描和處理語言   基本用法: awk [options] ‘program’ var=value…

    Linux干貨 2016-11-29
  • 優云攜手網易云 助力企業“互聯網+”轉型

    12月16日,網易旗下“網易云”首屆“網易云聚,共創未來”合作伙伴大會在網易杭州園區舉行,優云(uyun.cn)成為首批授牌20家企業之一,并作為核心合作伙伴代表現場簽署了合作伙伴協議。 右二為優云軟件運營經理 柴勇 現場簽署合作伙伴協議 會上,網易杭州研究院執行院長汪源介紹了網易云的戰略生態全境,提出“產品體系+培訓體系+服務體系”的網易云三大核心競爭力,…

    Linux資訊 2017-03-15
  • Systemd服務

    POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/initinit:CentOS 5: SysV initCentOS 6: UpstartCentO…

    Linux干貨 2015-03-02
  • linux網絡管理

    什么是計算機網絡     計算機網絡是指將不同地理位置上,具有獨立功能的計算機和網絡設備通過通信鏈路連接起來,通過操作系統,網絡管理軟件,和網絡通信協議的共同組合下的計算機系統團體,實現資源共享,信息傳遞的網絡。計算機網絡的組成部分有各種微小大型計算機,網橋,交換機,路由器,傳輸介質等網絡設備,相應的軟件系統,相應的通…

    Linux干貨 2016-09-05
  • scp命令介紹

    scp是secure copy的簡寫,用于在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的??赡軙晕⒂绊懸幌滤俣?。當你服務器硬盤變為只讀 read only system時,用scp可以幫你把文件移出來。另外,scp還非常不占資源,不會提高多少…

    Linux干貨 2017-07-24
欧美性久久久久