1. 程式人生 > >Linux下輸入、輸出重定向用法

Linux下輸入、輸出重定向用法

標準輸入:鍵盤   裝置檔名: /dev/stdin 檔案描述符:0
標準輸出:顯示器 裝置檔名: /dev/sdtout和/dev/sdterr  前者標準輸出,檔案描述符:1  後者標準錯誤輸出,檔案描述符:2
標準輸出重定向:
格式:命令 > 檔案 以覆蓋的方式,將輸出到指定檔案或裝置中
     命令 >> 檔案 以追加的方式,將輸出到指定檔案或裝置中 
標準錯誤輸出重定向:(下面的2是檔案描述符)
格式:錯誤命令 2>檔案 以覆蓋的方式,將命令的錯誤輸出到指定檔案或裝置中
     錯誤命令 2>>檔案 以追加的方式,將命令的錯誤輸出到指定檔案或裝置中 
注意:標準錯誤輸出的大於號右邊沒有空格
正確輸出和錯誤輸出同時儲存:
命令 > 檔案 2>&1 或者 命令 &>檔案     #以覆蓋的方式 正確輸出或錯誤輸出都輸出到檔案中
命令 >> 檔案 2>&1 或者 命令 &>>檔案    #以追加的方式 正確輸出或錯誤輸出都追加輸出到檔案中
命令>>檔案1 2>>檔案2     #把正確的輸出追加到檔案1,錯誤的輸出追加帶檔案2
一般來講,追加的方式用的多
例子:ls &>/dev/null    輸出追加到黑洞(可以理解為放進去的東西都會消失)    用於那些只看結果 不看過程的命令執行
輸入重定向:
命令 < 檔名     #把檔案作為命令的輸入
命令 << 識別符號     #識別符號把識別符號之間的內容作為命令的輸入
wc [選項][檔名]
選項:-c      #統計位元組數
     -w      #統計單詞書數
     -l       #統計行數
例子:wc < test.log    其實這裡的<可以去掉  用空格分開也可以