2021-05-12 14:32:11
Linux基礎知識:管道輸出
2020-06-16 17:34:07
管道輸出
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 複製輸出
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-09/134932.htm
相關文章