首页 > 其他 > 详细

IO redirect

时间:2015-12-26 11:27:11      阅读:157      评论:0      收藏:0      [点我收藏+]

在OS中,0-9 中的每个数字都代表一个流。

现在已指定的有3个: 【0:标准输入流】、【1:标准输出流】、【2:错误输出流】,其余的还未指定。

基本IO操作

cmd > file 把 stdout 重定向到 file 文件中;
cmd >> file 把 stdout 重定向到 file 文件中(追加);
cmd 2> file 把 stderr 重定向到 file 文件中;
cmd 2>> file 把 stderr 重定向到 file 文件中(追加);
cat <>file 以读写的方式打开 file;
cmd < file cmd 命令以 file 文件作为 stdin;
cmd << delimiter ,从 stdin 中读入,直至遇到 delimiter 分界符。
 
进阶IO
&是对FD(File Descriptor)操作
>&n 复制文件描述符
<&n 标准输入复制自文件描述符 n;
<&- 关闭标准输入(键盘);
>&- 关闭标准输出;
n<&- 表示将 n 号输入关闭;
n>&- 表示将 n 号输出关闭;

cmd 2>& 1 就是将标准输出流的FD复制给错误输出,就相当于:FD2=FD1,这样的结果是,错误输出重定向到了标准输出。

所以:

cmd >file 2>&1 就是将标准输出重定向到了file中(覆盖方式),然后将错误输出内容放到标准输出里,最终效果就是错误输出也重定向到了file中。

cmd >> file 2>&1  就是将标准输出重定向到了file中(追加方式),然后将错误输出内容放到标准输出里,最终效果就是错误输出也重定向到了file中。 

 

IO redirect

原文:http://www.cnblogs.com/f1194361820/p/5077628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!