顾名思义,数据流重导向似乎就是将数据从一个地方那个重新传导到另一个地方去。事实上,数据流重导向就是将命令或程序原本应该输出到终端的上的数据,导流到其他地方去,如文件、设备或者程序。数据重导向的应用十分广泛,尤其在我们设法保存某些数据的情况下就更实用了。
在介绍数据流重导向之前,我们先来了解一下命令的输入输出过程。通常我们使用的命令或者程序都是有需要输入与输出的,它们运行以后的输入输出过程一般如下图所示:
由图示可知,我们执行一个命令或程序时,它可以通过标准输入(stdin)或者文件读入数据,完成处理以后,再将数据输出到标准输出(stdout)或标准错误输出(stderr),而来自标准输出跟标准错误输出的数据都将显示到屏幕上。那右侧的两个“文件/设备”又代表什么意思呢?其实就是这里要讲到的数据流重定向。“命令/程序”右侧两个箭头代表的就是数据流重定向的过程,经过数据流重定向以后,原本输出到标准输出或标准错误输出的内容将被输出到文件或者设备上。那么什么又是标准输出与标注错误输出呢?这就是下面我们将要讲到问题。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。