1. 程式人生 > >linux重定向

linux重定向

1.輸出重定向的兩種方式:

>     覆蓋原檔案內容

>>  追加寫,不覆蓋原檔案內容

2.兩種重定向

錯誤命令重定向  2>    或    2>>             (錯誤命令重定向中    >或和>>   左右兩邊不能有空格)

正確命令重定向  >      或    >>

常用:

錯誤密令   +   正確命令     儲存到同一個檔案:

     方法一:    命令    >>    檔案     2>&1    (覆蓋寫時少個>)

     方法二:     命令    &>>    檔案              (覆蓋寫時少個>)

eg:     ls  /home/heyu    >>     access.log    2>&1

           ls      &>       /home/heyu

錯誤命令   和    正確命令   儲存到不同檔案:

     命令    >>    儲存正確結果檔案        2>>      儲存錯誤結果檔案

eg:     cd    fjladjflaj     >>   access.log     2>>error.log

Linux Shell 環境中的輸入輸出重定向,用符號<和>來表示。0、1和2分別表示標準輸入、標準輸出和標準錯誤。

1.重定向標準輸出到檔案:cat foo > foo.txt2.重定向標準錯誤到檔案cat foo 2> foo.txt3.重定向標準輸出到標準錯誤cat foo 1>&24.重定向標準錯誤到標準輸出cat foo 2>&15.重定向標準輸出,標準錯誤到同一個檔案cat foo > foo.txt 2>&1或cat foo &> foo.txt這裡第個順序很重要,先把標準輸出重定向到檔案,再把標準錯誤輸出到標準輸出,因為標準輸出已經重定向到檔案,所以標準錯誤與重定向到檔案。

ls 2>1  會輸出一個空的檔案1;
ls xxx 2>1 沒有xxx這個檔案的錯誤輸出到檔案1中;
ls xxx 2>&1 不會生成1這個檔案了,不過錯誤跑到標準輸出了;
ls xxx >out.txt 2>&1, 實際上可換成 ls xxx 1>out.txt 2>&1;重定向符號>預設是1,錯誤和輸出都傳到out.txt了。

n<&- 表示將 n 號輸入關閉
<&- 表示關閉標準輸入(鍵盤)
n>&- 表示將 n 號輸出關閉
>&- 表示將標準輸出關閉