小白日記10 重定向和管道

2021-10-08 17:07:13 字數 2140 閱讀 6623

二、管道

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...