Linux Shell 管道命令 pipe 的使用

2021-07-10 20:21:31 字數 1415 閱讀 7406

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

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

注意:

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

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

例項**:

#可以相互轉換情況

#輸入重定向

[chengmo@centos5 shell]$ cat test.sh| grep -n 'echo'

5: echo "very good!";

7: echo "good!";

9: echo "pass!";

11: echo "no pass!";

#"|"管道兩邊都必須是shell命令

[chengmo@centos5 shell]$ grep -n 'echo' test.txt

[chengmo@centos5 shell] cat test.sh|tee test.txt &>/dev/null

#通過管道實現將結果存入檔案,還需要借助命令tee,它會把管道過來標準輸入寫入檔案test.txt ,然後將標準輸入複製到標準輸出(stdout),所以重定向到/dev/null 不顯示輸出

#">"輸出重定向,往往在命令最右邊,接收左邊命令的,輸出結果,重定向到指定檔案。也可以用到命令中間。

[chengmo@centos5 shell]$ ls test.sh test1.sh testsh.sh 2>err.txt | grep 'test'

test.sh

testsh.sh

#目錄下面有:test,testsh檔案,test1.sh不存在,因此將ls 命令錯誤輸出輸入到err.txt 正確輸出,還會通過管道傳送到grep命令。

[chengmo@centos5 shell]$ ls test.sh test1.sh testsh.sh &>err.txt | grep 'test'

#這次列印結果是空,&代表正確與錯誤輸出 都輸入給err.txt,通過管道繼續往下面傳遞資料為空,所以沒有什麼顯示的

#同樣">"輸出重定向符,優先順序也是先解析,當乙個命令有這個字元,它就會與左邊命令標準輸出繫結。準備好了這些,就等待命令執行輸出資料,它就開始接收

管道命令的三種表示方式:

左邊的命令應該有標準輸出 | 右邊的命令應該接受標準輸入

左邊的命令應該有標準輸出 > 右邊只能是檔案

左邊的命令應該需要標準輸入 < 右邊只能是檔案

Linux shell中的管道命令

linux shell中的管道命令 利用輸入 輸出重定向 在linux命令列模式中,如果命令所需的輸出不是來自鍵盤,而是來自指定的檔案,這就是輸入重定向。同理,命令的輸出也可以不顯示在螢幕上,而是寫入到指定檔案中,這就是輸出重定向。接下來看看標準輸入 輸出重定向在構造一條linux命令中的實際應用。...

Linux Shell命令 tr命令

在linux常用的命令中,我們可以通過使用tr,非常容易地實現 sed 的許多最基本功能。1 定義 日常操作中,tr用來從標準輸入中通過替換或刪除操作進行字元轉換。2 使用格式 tr c d s string1 to translate from string2 to translate to in...

linux shell基礎命令

建立檔案 touch file1 複製檔案file1成file2 cp file1 file2 複製整個目錄的內容 cp r file1 file2 建立檔案硬連線 cp l file1 file2 建立檔案軟連線 cp s file1 file2 重新命名檔案 mv file1 file2 建立目...