1. 程式人生 > >shell---數據流重定向

shell---數據流重定向

信息過濾 原本 shell 錯誤信息 /dev/null pan back null 簡單的

數據流重定向:就是某個命令執行後應該要出現在屏幕上的數據傳輸到其他的地方。

標準輸入(stdin):代碼為0,使用<或<<;

標準輸出(stdout):代碼為1,使用>或>>;

標準錯誤輸出(stderr):代碼為2,使用2>或2>>

一:標準輸出

>:1文件不存在會自動創立

2文件存在,先將文件清空,然後將數據寫入

3若文件中已經存在內容,則將文件內容覆蓋(若不想覆蓋,可用>>,在原文上進行追加)

二:標準錯誤輸出

2>:以覆蓋的方法將錯誤的數據輸出到指定文件或者設備上

2>>:以累加的方法,將錯誤的數據輸出到指定的文件或者設備上

#find /home -name .bashrc >list_right 2>list_error

  註意:

1:/dev/null垃圾桶黑洞

怎樣將輸出的錯誤信息過濾,將正確信息輸出??

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

2:怎樣將正確錯誤信息統統寫入同一個文件??

#find /home -name  >list   2>&1
#find 
/home -name &> list

以上兩種方法都可以

三:標準輸入

最簡單的方法來說,就是將原本需要鍵盤輸入的方式改由文件內容來代替

 cat >   a   <    /root/b

將b的內容寫入a

shell---數據流重定向