一、shell输入输出
1.把命令结果写入文件
>会覆盖文件之前的,>>会追加到文件末尾。
命令>>文件
这个方法在收集多个命令的执行结果时非常有用。
2.管道符
管道符会把上一个命令的结果,作为参数传递给下一个命令
命令 | 命令 | 命令
二、标准错误输出
有的时候你会发现,即使重定向了标准输出,终端屏幕上还是会显示一些信息,其实这是标准错误输出,是用来显示系统错误和调试信息的一种额外的输出流。比如,运行下面的命令后,会发生错误:
标准输出就可以理解为命令执行结果流,默认是输出到屏幕,我们可以通过>符号把这个输出重定向到文件中去,系统默认给的ID是1.
标准错误输出就是命令执行出错的结果,如截图中没有找到命令中的文件等等,系统默认给的ID是2.
如果有必要,你可以使用2>重定向标准错误输出,例如,使用2>向f发送标准输出,向e发送标准错误输出:
可以看到,错误输出被写入到file3中了。
这里的2是由shell修改的流ID,1是标准输出,2是标准错误输出。你也可以使用>&将标准输出和标准错误输出重定向到同一个地方,例如,把标准输出和标准错误输出重定向到文件f中,可执行以下命令:
三、标准输入重定向
使用<操作符将文件内容重定向为命令的标准输入: