管道及重定向

管道及重定向

1、重定向

在Linux中有時我們在命令的執行過程中,不想將執行結果顯示到屏幕上,或者將其結果輸出到其他位置
這時就需要重定向來解決這個問題了
首先了解一下Linux中的3種I/O設備:
0:標準輸入
1:標準輸出
2:標準錯誤輸出
輸出重定向:>  >>  輸入重定向: <  <<
>:將標準輸出重定向到文件 
echo "Hello" > /app/test.tab
2>:將標準錯誤輸出重定向到文件
ls /etc /error > /app/test.tab 2> /app/error.tab
&>:將所有輸出重定向到文件
ls /etc /error &> /app/test.tab 
>>:將標準輸出追加重定向到文件
2>>:將標準錯誤輸出追加到文件
&>>:將所有標準輸出追加到文件

<:標準輸入重定向(單行重定向)
<<:(多行重定向)
eg:有些命令能夠通過輸入重定向接受來自文件的輸入
wc -l < /etc/motd 統計motd文件的行數
mail -s "help" root << eof  此命令是給root用戶發送一個郵件,其中指定多行重定向的終止符eof(也可是其它)來
                            指定退出時的終止符
>please help me
>thanks
>eof

2、管道

符號 "|" ,用來連接命令
CMD1 | CMD2 | CMD3 | …    
(1)將CMD1的標準輸出傳給CMD2,CMD2的標準輸出輸出再發給CMD3
(2)默認情況下標準錯誤輸出不能通過管道轉發,通過2>&1或|&來實現
eg: [root@Centos6 ~]#cat /etc/issue /error 2>&1 | sort
    cat: /error: No such file or directory
    CentOS release 6.9 (Final)
    Kernel \r on an \m
(3)最后一個命令會在當前shell進程的子shell進程中執行

3、”-“符號

在管道中"-"可以用來代替之前命令標準輸出
eg: tar -cvf - /app | tar -xvf -   將/app下的文件打包,打包后不記錄到文件里,而是傳到標準輸出在經管道傳給后面的
                                   解包命令

4、tee 命令 重定向到多個目標

有時我們在使用管道時需要將不同階段的數據輸出到屏幕上,而還要將數據向下傳遞,我們就需要用到tee命令
eg: [root@Centos6 ~]#ls | tee | tr "a-z" "A-Z"

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

(0)
M25_ymdM25_ymd
上一篇 2017-07-27
下一篇 2017-07-28

相關推薦

  • 第二十六天 iptables 初識

      Iptables是位于用戶空間,是linux系統上的防火墻管理配置規則的工具,主要用于添加、刪除、管理netfilter的規則,   Netfilter是位于內核中真正的防火墻,由5個鉤子組成,也叫五個規則鏈。 Netfilter的作用:起到過濾封包,轉換與映射IP地址和端口,拆分和修改封包內容,追蹤封包等功能 Iptabl…

    Linux干貨 2016-07-02
  • 路由配置注意事項

    路由配置注意事項 在把linux主機當做路由的時候,切記把轉發功能打開,防火墻關閉,否則到頭來一場空。 紅臉主機: 黃臉主機: 路由A: [root@localhost network-scripts]# ip route 192.168.240.0/24 via 10.0.0.11 dev eth1 172.16.0.0/16 dev eth0 proto…

    2017-05-03
  • 馬哥門徒Linux運維課程筆記-第1天03講 計算機及操作系統基礎

    第1天03講 計算機及操作系統基礎   ◆  市面上主流Unix廠商簡介         由于Unix系統的流行,當時行業中的主流大廠商都根據SysV或BSD開發了自己的版本,主要分類如下:       ●  IBM公司根據自己CPU硬件架…

    Linux干貨 2015-03-23
  • 軟件包管理工具—yum命令總結

    描述: YUM: Yellowdog Update Modifier, rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包,實現查詢、安裝、升級、刪除等功能 說明: yum repository: yum repo,存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄repodata下) 文件服務器: ftp:// http://…

    Linux干貨 2016-08-29
  • 集中管理利器-puppet快速入門-下

    Puppet配置 1.    文件管理 file 文件服務器寫法: /etc/puppet/ fileserver.conf 定義 [files] path /tmp/files  ## puppet數據存放目錄 =è后面遠程備份實戰會用到 allow *.example.com 實戰1: 備份master機…

    Linux干貨 2015-05-07
  • 博客作業-N22第二周

    1、linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示。 答: cp 復制文件 [root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak [root@localhost network-scripts]# ls ifcfg-eno16777736  …

    Linux干貨 2016-08-22
欧美性久久久久