Linux 輸出 輸入重導向

2021-09-02 13:47:19 字數 1039 閱讀 4573

輸出/輸入重導向

檔案描述符(file descriptor),用乙個數字(通常為0-9)來表示乙個檔案。

常用的檔案描述符如下:

檔案描述符          名稱         常用縮寫     預設值

0               標準輸入      stdin            鍵盤           使用0《或0<<    資料流向從右向左

1               標準輸出      stdout         螢幕            使用1或1>>      資料(正確的資料)流向從左向右

2            標準錯誤輸出   stderr          螢幕           使用2>或2>>    資料(錯的資料)流向從左向右

《或0<           輸入重定向:輸入重定向用於改變命定的輸入,後面指定輸入內容,前面跟檔名

<< 或0<<      追加輸入重定向:後跟字串,用來表示「輸入結束」,也可以用ctrl+d來結束輸入

2>                錯誤重定向:把錯誤資訊輸入到後邊的檔案中,會刪除檔案原有內容

2>>             錯誤追加重定向:把錯誤資訊追加到後邊的檔案中,不會刪除檔案原有內容

符號作用

符號作用

>或1> 輸出重定向

重定向內容到檔案,清除已有的內容,然後加入新內容,如果檔案不存在會建立檔案

.或./

當前目錄

>>或1>>追加輸出重定向

追加內容到檔案尾部(無空格追加)

..或../

當前目錄的上級目錄

《或0< 輸入重定向

xargs -n 2 /

根目錄<< 或0《追加輸入重定向

;命令分隔符

{}生成乙個序列echo

\轉義字元

~當前使用者的家目錄

-使用者上一次所在目錄,由oldpwd變數控制

&&並且

!調出歷史第幾條命令、取反

Linux資料流重導向

當我們使用linux的時候,每下達1個命令,通常都會有對應的資訊輸出在螢幕上,這些輸出的資料就是資料流,而linux資料流重導向,就是把這些資料輸出到不同的地方了。而資料流通常分為正確的資料跟錯誤的資料,如果我們要把正確的資料導向到我們要的檔案裡面去,可以使 覆蓋 新增 來處理。malt malt ...

Linux 雙向重導向命令tee

想個簡單的東西,我們知道 會將資料流整個傳送給檔案或裝置,因此我們除非去讀取該檔案或裝置,否則就無法繼續利用這個資料流。萬一我想要將這個資料流的處理過程中將某段資訊存下來,應該怎麼做?利用 tee 就可以 我們可以這樣簡單的看一下 tee 會同時將資料流分送到檔案與螢幕 screen 而輸出到螢幕的...

Linux之資料流重導向

其實一開始繞進檔案描述符這個大坑裡去了,越挖越深,什麼系統檔案表,記憶體索引節點,vfs等等都一下子冒了出來,而我暫時還沒那麼多精力搞定所有,於是只能遮蔽底層的一些細節,暫且當作黑盒子,來日再挖。1 linux系統中,一切資源都被視為檔案,包括放在磁碟上的各種文件,甚至各種裝置。檔案是linux組織...