Linux中的資料重定向

2022-03-10 06:10:52 字數 1148 閱讀 8037

重定向即指:將資料傳送輸出到別的地方,如裝置、檔案等等。那就涉及到將什麼資料傳送到什麼地方的問題。

在linux中命令執行的起源和結果說起,看下圖:

standard input和standard error都會輸出到螢幕上,這樣會將螢幕搞的非常混亂,且又是輸出內容過多也不易於閱讀。甚至有時候的輸出內容非常重要需要儲存,這是該怎麼辦??

答案是:資料重定向,將輸出內容匯入到別的地方。

linux中資料重定向的特殊符號:

>和》的區別在於,輸出內容重導向目的地的方式不一樣:

>:以覆蓋目的地原有資料的方式重導向

>>:以追加的方式重導向

ls /etc > list
如以上的將列出etc目錄下的檔案將其寫入list檔案。

如果list檔案不存在則建立

清除list檔案內容

將ls的標準輸出寫入list中

如果不清空list,則以追加的方式寫入,使用》

1.只需要正確的資料

使用/dev/null垃圾桶

#將find的結果中錯誤的輸出丟棄,只顯示正確的結果。避免錯誤資料的干擾

find /home -name .bashrc 2> /dev/null

2.既需要正確的輸出又需求錯誤的輸出資料
find /home -name .bashrc > list 2>&1

find /home -name .bashrc &> list

以上將標準輸出和標準錯誤都寫入list

3.標準輸入《和《的使用

既然使用

cat > back
以上同時利用 > 和

cat > list
以上命令將會將螢幕輸入(標準輸入)作為輸出重導向檔案list,然後使用ctrl+d退出。但是可以如下寫法:

cat > list << "eof"
這樣只要螢幕上輸入"eof"即可退出。《代表結束輸入。

Linux中重定向

1重定向 1.1 重定向符號 輸出重定向到乙個檔案或裝置 覆蓋原來的檔案 輸出重定向到乙個檔案或裝置 強制覆蓋原來的檔案 輸出重定向到乙個檔案或裝置 追加原來的檔案 輸入重定向到乙個程式 1.2標準錯誤重定向符號 2 將乙個標準錯誤輸出重定向到乙個檔案或裝置 覆蓋原來的檔案 b shell 2 將乙...

Linux中的重定向

1.輸出重定向 command filename 把標準輸出重定向到乙個新檔案中,當filename不存在時 command filename 把標準輸出重定向到乙個檔案中 追加 command filename 2 1 把標準輸出和錯誤一起重定向到乙個檔案中 command filename 2 ...

Linux中的重定向

標準輸入流 stdin 標準輸出流 stdout 標準錯誤 stderr 三個資料流其實就是三個檔案 在linux中檔案是具備檔案描述符的 比如0 1 2,分別對應上面三個流,其他的檔案都是從3開始標號的以此類推,都指向了終端,重定向就是改變其指向。符號 一般是指將輸出的結果指引到某個檔案。比如 l...