二、管道
linux 重定向分為兩種,一種輸入重定向,一種是輸出重定向;從字面上理解,輸入輸出重定向就是「改變輸入與輸出的方向」的意思。
標準輸入(stdin),檔案描述符號為:0,預設從鍵盤獲取輸入 <0
標準輸出(stdout),檔案描述符號位:1,預設輸出到顯示終端 1> 1 >>
標準錯誤(stderr),檔案描述符號為:2,預設輸出到顯示終端 2> 2>>
輸入date命令,結果被顯示在桌面上
輸入命令
[root@localhost ~]# date 1> file1
將date 輸出結果 重新定位到乙個檔案中,此時發現結果並沒有像上面一樣被顯示出來
那麼我們開啟 檔案file1檢視
結果被重新定向到了 檔案file1中
當我們進行多次重定向操作時,檢視結果 發現依然只有 一次 結果被覆蓋了
所以我們要在此處進行追加重定向操作
輸入命令
用ls命令查詢目錄下檔案,並試著將結果定向到檔案 file2,結果發現結果還是被輸出了出來,檔案file2中沒有內容。
注意:(錯誤輸出重定向 是只能將錯誤的命令重定向到乙個地方 正確的命令是不會被識別的)
正確示範:
將正確和錯誤的指令同時輸出到乙個檔案中
< 等價於0<
管道是兩個頭或三個頭的東西,每個頭各連線乙個程序或者同乙個程序的不同**,按照管道的類別分有兩種管道,匿名的和命名的;按照管道的傳輸方向分也可以分成兩種,單向的雙向的。根據管道的特點,命名管道通常用在網路環境下不同計算機上執行的程序之間的通訊(當然也可以用在同一台機的不同程序中)它可以是單向或雙向的;而匿名管道只能用在同一臺計算機中,它只能是單向的。匿名管道其實是通過用給了乙個指定名字的有名管道來實現的。
管道命令可以將多條命令組合起來,一次性完成複雜的處理任務。
三通管道,即交給另乙個程式處理。又儲存乙份副本
檢視副本 file3 結果發現 結果非常的多
為什麼會出現這個結果呢 因為 我們的命令
[root@localhost ~]# ps aux |tee file3 |grep s| head -3
tee管道程式 在ps aux 之後 所以儲存顯示的為 ps aux的副本
輸入命令
[root@localhost ~]# touch
建立5個檔案在檔案file4 中輸入內容
然後 想利用xargs引數傳遞功能 來對 檔案進行刪除
輸入命令
[root@localhost ~]# cat file4 |xargs rm -rvf
然後進行檢視 重定向和管道
重定向和管道 第 3 章 命令列簡介 程序 包括圖形應用程式,但不包括絕大多數守護程式 至少使用三個檔案描述符 標準輸入 標準輸出和標準錯誤輸出 它們相應的序號是 0 1 和 2。一般來說,這三個描述符與該程序啟動的終端相關聯,其中輸入為鍵盤。重定向和管道的目的是重定向這些描述符。本節中的例項將幫助...
管道和重定向
重定向輸出 ls l 1.txt 這條命令,把本應該在標準輸出 檔案描述符為1 裝置上顯示的內容重定向到了 1.txt 檔案中,而在標準輸出中不會有任務顯示 如果當前目錄下,1.txt檔案存在,則新內容會覆蓋1.txt裡的所有內容.不存在則會在當前目錄中新建乙個1.txt ls l 2.txt 這條...
管道和重定向
重定向 將標準輸出重定向到檔案 覆蓋 如 echo wudi outfile 將標準輸出重定向到檔案 追加到後面 如 echo jiaying outfile 2 將標準錯誤重定向到檔案 覆蓋 2 1 將標準輸出和標準錯誤結合 重定向標準輸入,如 grep root etc passwd 在pass...