shell---數據流重定向
阿新 • • 發佈:2017-10-08
信息過濾 原本 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---數據流重定向