Linux資料流重定向

2021-07-03 06:45:44 字數 978 閱讀 7343

開篇:

當在執行shell命令時,常見的就是輸出在螢幕上,但是我們有些時候需要儲存輸出結果或者丟棄輸出錯誤,就需要重定向了。

什麼是資料流重定向:

當我們執行乙個命令(命令不也是程式嘛),可能由檔案或者鍵盤讀入資料,經過處理之後,再將結果輸出到螢幕上。圖中,standard output與standard error output分別代表標準輸出和標準錯誤輸出,預設都是輸出到螢幕上來。還有standard input代表標準輸入。其實它們在linux分別對應三個檔案(linux下一切皆檔案大家都應該熟悉吧)。

檔案描述符

裝置檔案

說明0/dev/stdin標準輸入(使用< 或者<

1/dev/stdout標準輸出(使用》或者》)

2/dev/stderr標準錯誤(使用2>或者2>>)

檔案描述符:檔案描述符在形式上是乙個非負整數。實際上,它是乙個索引值,指向核心為每乙個程序所維護的該程序開啟檔案的記錄表。當程式開啟乙個現有檔案或者建立乙個新檔案時,核心向程序返回乙個檔案描述符。在程式設計中,一些涉及底層的程式編寫往往會圍繞著檔案描述符展開。但是檔案描述符這一概念往往只適用於 unix、linux 這樣的作業系統。

常見的資料重定向技巧:

標準錯誤重定向到無底洞(/dev/null,大家應該很熟悉吧):command  parameter 2>/dev/null

標準輸出與標準錯誤重定向到同乙個檔案中 :command  parameter > file 2>&1 或者command  parameter >& file  

如果需要重定向到多個檔案則可以使用tee命令

關於資料重定向暫時講這麼多,大家多多使用,多多總結。

Linux資料流重定向

在我們日常linux命令操作中,命令執行的輸入一般是鍵盤輸入,輸出一般是輸出到螢幕,但有時候,我們可能會去讀取檔案裡但資料作為輸入,或者將輸出儲存到檔案裡 比如日誌檔案 這個時候就需要用到資料流重定向。所謂資料流重定向,就是 1 將某個命令執行後應該要出現在螢幕上的資料傳輸到其它地方,例如檔案或者諸...

Linux 資料流重定向

1.三種資料流重定向 1 標準輸入 stdin 為0,使用0 或0 2 標準輸出 stdout 為1,使用1 或1 其中 1可以省略 3 標準錯誤輸出 stderr 為2,使用2 或2 2.標準輸出 stdout 重定向 我們知道linux中,cat命令可以將檔案內容輸出到螢幕。如下所示 我們可以使...

Linux 資料流重定向

一般來說,如果你要執行乙個命令,這個命令可能會由檔案讀入資料,經過處理之後,再將資料輸出到螢幕上。標準輸出與標準錯誤 簡單地說,標準輸出指的是命令執行所回傳的正確的資訊,而標準錯誤輸出可以理解為命令執行失敗後,所回傳的錯誤資訊。這兩個命令預設都是輸出到螢幕上來,所以螢幕當然是混亂的。那能不能通過某些...