歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

標准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 

Copyright © Linux教程網 All Rights Reserved