歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux基礎知識:管道輸出

Linux基礎知識:管道輸出

日期:2017/2/28 13:49:19   编辑:Linux教程

管道輸出

1.命令輸出結果


正確輸出如下,其他輸出為錯誤輸出

以非root用戶執行以下操作:

<1>重定向正確輸出

find /etc -name passwd  >  file
“ > ”符號會覆蓋掉file文件原有的內容, 要想向file文件追加內容,使用“ >> ”符號

<2>追加正確輸出

find /etc -name passwd  >>  file    

<3>重定向錯誤輸出

find /etc -name passwd  2> file

<4>追加錯誤輸出

find /etc -name passwd  2>> file    

<5>重定向所有輸出

find /etc -name passwd  &> file

<6>追加所有輸出

find /etc -name passwd  &>> file    

<7>“改邪歸正”輸出

所謂”改邪歸正”,即,2>&1,將標准錯誤輸出2重定向到標准輸出中,”2>”就是標准錯誤輸出,”&”是為了讓bash將1解釋成標准輸出而不是文件名字為1的文件。

2.管道

管道符號“ | ”,其作用是,在前一個命令的基礎上,在交給下一個命令進一步處理(前面的命令的輸出當作後面的命令輸入)

注:管道只允許正確的輸出通過

<1>將錯誤標准輸出解釋為正確輸出,通過管道

<2>將錯誤標准輸出扔到“垃圾桶”,正確輸出通過管道

<3> > /dev/null 2>&1和2>&1 > /dev/null的區別

 > /dev/null 2>&1含義:
首先表示標准輸出重定向到空設備文件,接著,標准錯誤輸出重定向標准輸出,因為之前標准輸出已經重定向到空設備文件,所以標准錯誤輸出也重定向到空設備文件,於是,管道什麼也沒有通過

2>&1 > /dev/null 含義:
首先,標准錯誤輸出重定向標准輸出,再次之前標准輸出並沒有重定向,所以標准錯誤重定向為的標准輸出被“忽略”,然後,標准輸出重定向到空設備文件,於是,通過管道的就是之前被剩下的輸出

<4> | tee 復制輸出

Copyright © Linux教程網 All Rights Reserved