一个命令执行前,先会准备好所有输入输出,默认分别绑定(stdin,stdout,stderr),如果这个时候出现错误,命令将终止,不会执行。执行成功会将结果输出到屏幕上,执行错误时也会将错误信息输出到屏幕。这些默认的输出,输入都是linux系统内定的,我们在使用过程中,有时候并不希望执行结果输出到屏幕。我想输出到文件或其它设备。这个时候我们就需要进行输出重定向了。这些标准输入输出对应的文件如下:
1 | [root@localhost ~]# ll /dev/stdin /dev/stdout /dev/stderr |
由这些管道文件可以看到linux shell下常用输入输出操作符是:
1. 标准输入 (stdin) :代码为 0 ,使用 <
2. 标准输出 (stdout):代码为 1 ,使用 > 或 >>
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>>
当我们执行命令时我们不想要程序将结果输出到屏幕时我们就可以调用>
>>
重定向操作符来重定向数据流的输出位置
1 | ls -l > testfile1 ##查看当前目录下的文件属性,但不输出到屏幕,输出到testfile1的文件中。 |