红联Linux门户
Linux帮助

标准IO和重定向

发布时间:2015-08-01 09:42:28来源:linux网站作者:pandachen

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


Linux重定向与管道:http://www.linuxdiyf.com/linux/12032.html

详细介绍Linux重定向的使用:http://www.linuxdiyf.com/linux/546.html

cat命令利用Linux重定向合并文件:http://www.linuxdiyf.com/linux/8182.html

Linux IO重定向:http://www.linuxdiyf.com/linux/11917.html

Linux的变量I/O重定向管道全局搜索正则表达式:http://www.linuxdiyf.com/linux/6356.html