一、概念:
通俗的说,就是将特定数据按照命令导向目标处。
二、意义:
1、屏幕输出信息很重要,我们需要将其保存起来。
2、后台执行中的程序,不希望它干扰屏幕正常输出。
3、一些系统的命令执行结果,要保存起来。
4、一些命令的执行错误结果,希望以“2>/dev/null”丢掉。
5、错误信息和正确信息需要分别输出。
三、语法:
1、标准输入(stdin):代码为0,使用<或<<;
2、标准输出(stdout):代码为1,使用>或>>;
3、标准错误输出(stderr):代码为2,使用2>或2>>。
例子:
数据流重定向后:
打开text.txt文件查看:
以上例子就是通过数据流重定向,将"ll / "的输出结果,保存在test.txt文件中。
test.txt文件创建的方式:
(1)该文件若不存在,系统会自动将它创建起来;
(2)当这个文件存在的时候,那么系统先将其清空,然后再将数据写入;
(3)以>输出到一个已经存在的文件中,那个文件就会被覆盖掉。若想不覆盖的话用>>输出,则输出结果会累加到原来的文件尾。
以上谈到标准输出,如果仅是>,默认是代码1。
1>:以覆盖的方法将正确数据输出到指定的文件或设备中。
1>>以累加的方法将正确数据输出到指定的文件或设备中。
2>:以覆盖的方法将错误数据输出到指定的文件或设备中。
2>>:以累加的方法将错误数据输出到指定的文件或设备中。
/dev/null 垃圾桶黑洞设备。
用Ctrl+c退出的结果如下:
用ctrl+d退出结果如下:
<与<<:将原本需要由键盘输入的数据改由文件内容代替,<<代表结束输入的意思。
再来测试下<<,结束输入:
结果: