1. 程式人生 > >linux shell 管道命令(pipe)使用及shell重定向

linux shell 管道命令(pipe)使用及shell重定向

管道命令操作符是:”|”,它僅能處理經由前面一個指令傳出的正確輸出資訊,也就是 standard output 的資訊,對於 stdandard 
error 資訊沒有直接處理能力。然後,傳遞給下一個命令,作為標準的輸入 standard input.

  • 管道命令使用說明:

先看下下面圖:

image

command1正確輸出,作為command2的輸入 然後comand2的輸出作為,comand3的輸入 ,comand3輸出就會直接顯示在螢幕上面了。

通過管道之後:comand1,comand2的正確輸出不顯示在螢幕上面

注意:

1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出

2、管道命令右邊命令,必須能夠接收標準輸入流命令才行。

例項:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [[email protected] shell]$ cat test.sh | grep -n'echo' 5:   echo
 "very good!"; 7:   echo "good!"; 9:   echo "pass!"; 11:   echo "no pass!"; #讀出test.sh檔案內容,通過管道轉發給grep 作為輸入內容 [[email protected] shell]$ cat test.sh test1.sh | grep -n'echo' cat: test1.sh: 沒有那個檔案或目錄 5:   echo "very good!"; 7:   echo "good!"; 9:   echo "pass!"
; 11:   echo "no pass!"; #cat test1.sh不存在,錯誤輸出列印到螢幕,正確輸出通過管道傳送給grep [[email protected] shell]$ cat test.sh test1.sh 2>/dev/null |grep -n

相關推薦

linux shell 管道命令(pipe)使用shell定向

管道命令操作符是:”|”,它僅能處理經由前面一個指令傳出的正確輸出資訊,也就是 standard output 的資訊,對於 stdandard  error 資訊沒有直接處理能力。然後,傳遞給下一個命令,作為標準的輸入 standard input. 管道命令使用說明: 先

Linux Shell 管道命令(pipe)的使用

command1正確輸出,作為command2的輸入 然後comand2的輸出作為,comand3的輸入 ,comand3輸出就會直接顯示在螢幕上面了。  通過管道之後:comand1,comand2的正確輸出不顯示在螢幕上面  注意: 1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出  2、

linux系統常用命令統計shell特殊字符

命令 輸入 grep命令 err name 信息 通配符 輸出 鏈接 shell 特殊字符:1.通配符2.管道 1.通配符 1.1星號(*):匹配任意長度 1.2問號(?):匹配一個長度的字符 1.3方括號([......]):匹配其中指定的字符 1.4方括號([-]):匹

shell後臺啟動程序輸出定向

/mnt/usr/bin/test > /tmp/test.log & & 後臺執行符,表示啟動之後脫離當前程序 > /tmp/test.log 表示把輸出重定向到 /tm

Linux編程 22 shell編程(輸出和輸入定向管道,數學運算命令,退出腳本狀態碼)

tab test $? per width 可能 註意 ble 保存 1. 輸出重定向   最基本的重定向是將命令的輸出發送到一個文件中。在bash shell中用大於號(>) ,格式如下:command > inputfile。例如:將date命令的輸出內容,

[Linux--Shell]使用命令列關機或

問題描述 對於Linux系統而言,許多時候是用於伺服器之類的,此時是不會開啟桌面系統的,這樣通過命令列的方式進行操作,可以有效節省系統RAM的使用,使盡量多的資源供重要的service使用。因此使用命令列的方式在Linux系統下操作就非常流行。 關機操作

shell 通配符,管道符,輸入/輸出定向命令置換

ima 一個 賦值 技術分享 問號 管道符 換行 輸出重定向 範圍 1. echo 輸出 【echo 輸出的內容 】把內容輸出到終端上    如果字符串使用雙引號,echo命令原樣輸出 【 echo "hello world" 】      如果字符

linux綜合順練(涉及管道,正則,定向、用戶組管理、權限管理等相關知識點)

之一 dump filesyste word ext 下劃線 proc usermod 文件的 一、概述   本博文是對前邊總結的知識點的一個綜合利用,涉及的知識點比較廣泛,涉及的大概有"bash特性之管道","bash

Linux學習——管道命令、文字提取命令、排序命令、雙向導向、字元轉換命令、分割命令、引數代換

目錄   管道命令 文字提取命令:cut、grep cut grep 排序命令:sort、wc、uniq sort uniq wc 雙向重導向:tee 字元轉換命令 tr col join paste expand 分割命

LINUX學習—管道IO定向

管道和重定向:> < >> << 標準輸入:stdin 0 標準輸出:stdout 1 標準錯誤輸出:stderr 2 I/O重定向: 改變資料輸入和輸出的方式; >:輸出重定向,原有內容會被覆蓋掉

Linux Bash Shell學習 十七 I/O定向

                  本文也即《Learning the bash Shell》3rd Edition的第七章Input/Output and Command-Line Processing之讀書筆記之一。我們曾經學習過shell的基本IO重定向操作:>、<和|。基本上能滿足95%的

從零開始學shell(4)--命令處理

命令列詳解 以一條命令為例: ls apple 當前資料夾中沒有該檔案,報錯資訊如上。 在這裡,ls 是一個真實的命令,shell執行該命令, 命令後的都被稱為引數。 tail +10 myfile 命令是tail,+10 myfile都

Linux Shell(bash) 輸出到文字、定向技巧

linux 環境中支援輸入輸出重定向,用符號<和>來表示。 0、1和2分別表示標準輸入、標準輸出和標準錯誤資訊輸出, 將一個指令碼的執行過程及執行結果列印到日誌的常用命令: ./myscript.sh 2>&1 | tee mylog

Linux命令執行結果錯誤定向

作為一個程式設計師,第一篇部落格本來應該是Hello World,不過想了想已經有太多的Hello World了。。。 假期無聊開始重新研究linux,不想要把命令執行的結果顯示在檔案上,可是當時只知道用〉將正確輸出重定向到檔案中和2〉將錯誤輸出重定向到檔案中,於是開始探索

Linux每天學習一個命令管道命令(pipe)

之前學習命令的時候使用了管道命令,只知道如何使用,不是十分清楚其使用規則,決定學習總結一下管道的使用 什麼是管道:管道就是用 | 連線兩個命令,以前面一個命令的標準輸出作為後面命令的標準輸入,與連續

【java】Linux使用nohup命令啟動sh shell 指令碼,java程式無限迴圈啟動問題。解決方案

一·背景 專案使用spring boot 搭建。在Linux作業系統使用nohup命令啟動sh shell 指令碼,程式無限迴圈啟動,只要是 讓程式在後臺啟動 都會無限迴圈啟動(程式本來應該啟動完畢的,但是從日誌上看程式又再次啟動了一遍,無限迴圈,而且程式也無法正常訪問)

shell 管道導致的變量置問題

blog bin html () .cn nbsp ref cnblogs code 測試腳本: #!/bin/sh flag=0 func() { flag=1 echo 123 } main() { fun

linux管理IO定向

linux 重定向 linux管理及IO重定向

管道IO定向

zl管道和重定向:|、>、>>、<、<<運算器、控制器:CPU存儲器:RAM(易失性存儲器)輸入/輸出設備程序:指令和數據寄存器:CPU暫時存儲器系統設定:默認輸出設備:標準輸出,STDOUT,1 默認輸入設備:標準輸入,STDIN,0

Linux中常用命令pipe

必須 強調 std 而且 ss命令 strong 目錄下的文件 文件 last 大多數linux命令處理數據後都會輸出到標準輸出,但是如果數據要經過系列列的步驟處理後,才是需要的數據個數,這種需求就需要管道來幫助完成。 管道命令使用"|"作為界定符,將界定符前的命令的執行結