2021-05-12 14:32:11
標準IO和重定向
1、標準輸入/輸出/錯誤
當shell啟動,它繼承三個檔案:stdin、stdout、stderr,標準輸入通常來自鍵盤,標準輸出和標準錯誤通常是螢幕。
標準輸入/輸出/錯誤的檔案描述符為0、1、2
2、重定向操作符
< 重定向輸入
<& 重定向輸入,後接數位格式的檔案描述符
> 重定向輸出
>> 追加輸出
2> 重定向錯誤
&> 重定向錯誤和輸出,後接檔名
>& 重定向錯誤和輸出,後接檔名或數位格式的檔案描述符
2>&1 重定向標準錯誤到標準輸出
1>&2 重定向標準輸出到標準錯誤
>| 重定向輸出時覆蓋noclobber,即如果檔案存在直接覆蓋檔案
<>filename 如果是一個裝置檔案,就把這個檔案作為標准輸入和標準輸出
3、例子
1) 將標準錯誤重定向到檔案
$cc prog.c 2>errfile
2) 將標準輸出重定向到檔案,標準錯誤重定向到空裝置檔案
$cc prog.c >logfile 2>/dev/null
3) 將標準輸出和標準錯誤都定向到檔案或檔案描述符
$cc prog.c &> logfile //必須是檔名
$cc prog.c >& logfile //可以是檔名或數位格式的檔案描述符
$cc prog.c >& 1 //將標準輸出和標準錯誤重定向到標準輸出,標準輸出的檔案描述符為1
4) 將標準輸出重定向到檔案,將標準錯誤重定向到標準輸出定向的裝置
$cc prog.c >logfile 2>&1
等效於
$cc prog.c >& logfile
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-08/120880.htm
相關文章