重定向 管道

2021-09-21 10:02:18 字數 1158 閱讀 8539

1、輸入輸出重定向可分為:

標準輸入:由鍵盤輸入

標準輸出:由監視器輸出

錯誤輸出:與標準輸出相同,但是他們是具有各自的資料流,各佔乙個資料流

通常用識別符號對位:標準輸入用0,標準輸出用1,錯誤輸出用2。

重定向:顧名思義就是將標準的輸入和輸出位置重新定向

覆蓋重定向:>    每一次的輸出都要覆蓋原始檔中的內容

追加重定向:>>

錯誤重定向:2>

錯誤追加重定向:2>>

整合錯誤和標準輸出:2>&1

輸入重定向:<

追加輸入重定向:<<

在/dev/null 這個檔案是乙個虛擬的軟體裝置,用於存放命令執行的結果,而所有的結果進入後都將不在存在!

linux中各個命令的執行結束後,無論成功與否都有乙個退出碼:成功執行是:0;錯誤執行:1-255;不同的錯誤型別具有不同的退出碼;

獲取剛剛執行命令的退出碼用到命令:#echo $?

例子:1、ll /ddev/null 2> /dev/null 這裡我將dev輸入錯誤為ddev所以這個命令會執行錯誤而這時我將這個錯誤資訊輸入到/dev/null中!

2、ls /home/ >> /tmp/a.txt 這裡我將/home下中的所有檔名追加寫入到/tmp/a.txt檔案中!

3、cat > /tmp/b.txt << end 這裡我將cat的內容重定向寫入到/tmp/b.txt檔案中,並且/tmp/b.txt事先不存在哦,當輸入end時結束輸入!

2、管道:把前乙個命令的輸出通過乙個內部的用到送給後乙個命令,並且後乙個命令將其作為輸入。用"|"(豎線)來表示。

例如:1、#ls /etc | more 將/etc下所有的檔案列表用more來開啟

2、#ifconfig eth0 | grep "inet addr:" | cut -d: -f2 | cut -d' ' -f1  檢視eth0的網絡卡資訊,將其送個grep,搜尋出存在"inet addr:"的一行內容,在送個cut,以:為分隔符切開取第二段結果在送個cut,以空格為分隔符切開,取其第一段,最後輸出的就是網絡卡eth0的ip位址。

3、ls /var | tee /tmp/test/a.txt 將/var目錄下的所有檔名寫入到/tmp/test/a.txt檔案中

*    tee    把乙個命令的執行結果顯示到標準輸出並且寫入到檔案中

重定向管道

重定向 將預設的標準輸入 輸出 錯誤裝置改變到新的目標 將預設的標準輸入 輸出 錯誤裝置改變到新的目標,如果原目標存在,此操作將覆蓋原目標 set c 禁止覆蓋原檔案 set c 允許覆蓋原檔案 將預設的標準輸入 輸出 錯誤裝置改到新的目標,此操作不會覆蓋原目標,只會追加在原目標之後 root ce...

重定向管道

1.重定向 標準輸入,標準輸出,標準錯誤fd簡介file descriptors,fd,檔案描述符,程序使用檔案描述符來管理檔案 圖示 0 是鍵盤唯讀 1,2是終端可以理解為螢幕 3 是問檔案可讀可寫 2.輸出重定向 正確輸出 1 等價於 1 等價於 錯誤輸出 2 沒有簡寫 2 沒有簡寫 3管道 程...

重定向和管道

重定向和管道 第 3 章 命令列簡介 程序 包括圖形應用程式,但不包括絕大多數守護程式 至少使用三個檔案描述符 標準輸入 標準輸出和標準錯誤輸出 它們相應的序號是 0 1 和 2。一般來說,這三個描述符與該程序啟動的終端相關聯,其中輸入為鍵盤。重定向和管道的目的是重定向這些描述符。本節中的例項將幫助...