shell命令之重定向输出 1,2>,>,>>

来源:互联网 发布:kyocera打印机驱动mac 编辑:程序博客网 时间:2024/05/29 06:58

首先在test.c的main函数中输入如下的代码

fprintf(stderr,"stderr!");    fprintf(stdout,"stdout!");    printf("printf!");  

启动cmd,进入到当前目录运行test.c编译过后的test.exe


运行text.exe >temp.txt 【输出到文件中】


运行text.exe >temp.txt 2>1&【输出到文件中( 包括错误输出 )】

【注意:此时屏幕没有任何输出了】


知识点如下

1是标准输出

2是错误输出


> 和 >> 都是输出重定向符号。标准输出默认是打印到控制台,如果要导入到文件,就需要使用>或>>。> 会覆盖已有的文件内容,而>>会附加到已有内容之后。
< 和 << 是输入重定向符号。从文件中读取内容。


2>&1 是把错误输出导入(合并)到标准输出流中


另附fprintf和printf的区别,参考:

http://blog.csdn.net/ysdaniel/article/details/7052956