标准输入/输出(standard I/O)可能是软件设计原则里最重要的概念了。这个概念就是:程序应该有数据的来源端、数据的目的端以及报告问题的地方,它们分别被称为标准输入(standard input)、标准输出(standard output)以及标准错误输出(standard error)。程序不必知道也不用关心它的输入与输出背后是什么设备:磁盘上的文件、终端、磁带机、网络连接或是另一个执行中的程序!当程序启动时,可以预期的是,标准输出入都已打开,且已准备好供其使用。
默认情况下,程序会读取标准输入,写入标准输出,并将错误信息传递到标准错误输出。这类程序常叫做过滤器(filter),你马上就会知道这么叫的原因。默认的标准输入、标准输出以及标准错误输出都是终端。如下例所示:
[many@avention my_sh]$ cat 未指定任何参数,就读取标准输入,写入标准输出
now is the time 由用户键入
now is the time 由cat返回
for all good men
for all good men
登录系统时,UNIX便将默认的标准输入、输出及错误输出安排成你的终端。I/O重定向就是你通过与终端交互,或是在Shell脚本里设置,重新安排从哪里输入或输出到哪里。
2.5.5 基本的 I/0 重定向
原文:https://www.cnblogs.com/avention/p/9680216.html