歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 標准IO和重定向

標准IO和重定向

日期:2017/2/28 13:59:40   编辑:Linux教程

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