Linux下輸入、輸出重定向用法
阿新 • • 發佈:2019-02-01
標準輸入:鍵盤 裝置檔名: /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 其實這裡的<可以去掉 用空格分開也可以
標準輸出:顯示器 裝置檔名: /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 其實這裡的<可以去掉 用空格分開也可以