I/O重定向与管道
I/O重定向是指改变程序的标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)的默认设备,将其与其他设备或文件进行关联。通过I/O重定向,我们可以将程序的输入从键盘转向文件或其他设备,将程序的输出和错误信息输出到文件或其他设备而不是屏幕上
标准输出重定向使用 >
符号来实现,它将程序的输出保存到一个文件中
tty:查看所在终端
二、输出重定向到文件
输出重定向:命令 > 目标文件, 命令 >> 目标文件
>:覆盖重定向,目标文件中的原有内容会被清除;
>>:追加重定向,新内容会被追加至目标文件尾部;
2>:覆盖重定向错误输出数据流;
2>>:追加重定向错误输出数据流;
输入重定向是指让命令从指定文件中获取输入,而非从 stdin(常常指的是键盘输入)中获取输入。Linux 中使用 < 和 << 来重定向标准输入,他和输出重定向差不多。
输入重定向用<表示
再输入重定向中<< 可不是表示输入追加。在这里<<表示Here Document,也就是此处创建文档。
在我们正常输入命令后,如果命令正确,执行后输出的结果就是正确的;但是如果我们输入错误命令,输出的结果就是错误输出,有时候我们要把错误输出放到一个文件中,正确输出放到另一个文件中,或者正确的和错误的放到一个文件中,再或者把正确的变成错误的放到一个文件中,这些都用到管道。