linux 的重定向



> 代表重定向到哪裏,例如:echo "123" > /home/123.txt 
1 表示stdout標準輸出,系統默認值是1,所以">/dev/null"等同於"1>/dev/null" 
2 表示stderr標準錯誤 
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1 

1>/dev/null 首先表示標準輸出重定向到空設備文件,也就是不輸出任何信息到終端,說白了就是不顯示任何信息。 
2>&1 接着,標準錯誤輸出重定向等同於 標準輸出,因爲之前標準輸出已經重定向到了空設備文件,所以標準錯誤輸出也重定向到空設備文件。

command < filename                         把標準輸入重定向到filename文件中
command 0< filename                       把標準輸入重定向到filename文件中

command > filename                         把標準輸出重定向到filename文件中(覆蓋)
command 1> fielname                       把標準輸出重定向到filename文件中(覆蓋)

command >> filename                       把標準輸出重定向到filename文件中(追加)
command 1>> filename                     把標準輸出重定向到filename文件中(追加)

command 2> filename                       把標準錯誤重定向到filename文件中(覆蓋)
command 2>> filename                     把標準輸出重定向到filename文件中(追加)

command > filename 2>&1               把標準輸出和標準錯誤一起重定向到filename文件中(覆蓋)
command >> filename 2>&1             把標準輸出和標準錯誤一起重定向到filename文件中(追加)

command < filename >filename2        把標準輸入重定向到filename文件中,把標準輸出重定向
                                                        到filename2文件中
command 0< filename 1> filename2   把標準輸入重定向到filename文件中,把標準輸出重定向
                                                        到filename2文件中

重定向的使用有如下規律:

1)標準輸入0、輸出1、錯誤2需要分別重定向,一個重定向只能改變它們中的一個。
2)標準輸入0和標準輸出1可以省略。(當其出現重定向符號左側時)
3)文件描述符在重定向符號左側時直接寫即可,在右側時前面加&。
4)文件描述符與重定向符號之間不能有空格!


http://blog.sina.com.cn/s/blog_4aae007d010192qc.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章