1. 程式人生 > >關於linux中重定向 > 1> 2>&1 >>

關於linux中重定向 > 1> 2>&1 >>

改變 怎麽 引用 In 文件中 idt 技術分享 chm 很好

linux 中很多時候會用到重定向來完成一些工作下面就來談談我對重定向的理解 歡迎吐槽

1,0<或者< 表示標準輸入 代碼為0 或者 稱stdin
2 , 1> 表示標準輸出 代碼為1 或者 稱stdout
3, 2> 表示錯誤輸出 代碼為2 或者 稱 stderr

標準輸出:
>或者1> 輸出重定向到一個文件或者設備 覆蓋原來的文件
>! 強制覆蓋
>> 追加
輸出重定向我就不舉例了 很好理解


標準輸入:
0 < 或者 < 輸入定向 輸入重定向用於改變命令的輸入,後面跟指定輸入的內容,前面跟文件名
0<<或者<< 追加輸入重定向 後跟字符串,用來表示“輸入結束”,也可以用ctrl+D 結束
例子:
技術分享圖片
例子解釋:
cat 接收鍵盤的標準輸入的內容 重定向輸出到test.txt文件中
有的同學可能不理解cat 怎麽可以接收標準輸入流 下面我們來看看 cat 的定義
技術分享圖片
大家現在應該明白了吧


錯誤輸出:
2> 錯誤重定向:把錯誤信息輸入到後邊的文件中,會刪除文件中原有的內容
2>> 錯誤追加重定向:把錯誤信息追加到後邊的文件中,不刪除原有文件的內容

例子:
ehco "hello world" 1>test1.txt 2>&1
例子解釋: 如果命令正確沒有錯誤直接將 “hello world” 重定向到test1.txt中
如果命令錯誤 比如 ech “hello world” 命令會出錯 錯誤信息就會輸入到 test1.txt中

大家肯定對這個 2>&1 有疑問 那下面我就來說說
2>表示的 標準錯誤輸出 &1 表示的是 標準輸出打開的 test1.txt 引用
還是不明白的可以參考 https://blog.csdn.net/ggxiaobai/article/details/53507530




他們的共同點就是 箭頭的方向表示 數據的流向

關於linux中重定向 > 1> 2>&1 >>