一.什么是重定向
重定向就是将原本要输出到屏幕的数据信息重新定向到某个指定的文件中。
二.为什么要要使用重定向
1.当屏幕输出的信息很重要而且希望保存重要信息的时候就需要用到重定向。
2.后台执行中的程序,不希望他干扰屏幕正常输出结果时。
3.系统的例行命令,例如定时任务的执行结果希望可以保存下来时。
4.一些执行命令,我们已经知道他可能出现错误信息想将它丢弃时。
5.错误日志与正确日志需要分别输出到不同的文件保存时。
三.什么是标准输入,标准输出,错误输出
程序运行起来后变为进程,会同时打开三个文件,这三个文件就分别代表的是标准输入,标准输出和错误输出。
标准输入(/dev/pts/0) 标准输出(/dev/pts/1)错误输出(/dev/pts/2)
四.标准输入,标准输出和错误输入与重定向有什么关系。
重定向就是用来改变标准输出或者标准错误输出的一个指向
1>标准输出重定向(覆盖)

1>> 标准输出重定向(追加)

2>标准错误输出重定向(覆盖)

2>>标准错误输出重定向(追加)
&>/dev/null(黑洞设备)混合输出(覆盖)

&>>/tmp/t.log混合输出(追加)
1> 文件 2> 文件 将标准输入,错误输入分别放在不同的文件

< 输入重定向 (从文件中获取内容)
; 命令1;命令2 无论前者命令成功还是失败都有执行后者命令
&& 命令1&&命令2 前者命令执行成功,后者命令才会执行
|| 命令1||命令2 前者命令执行失败,后者命令才会执行
& 将程序放入后台执行(screen)
五.进程管道符是什么
管道符就是能够让我们进一步掌握命令之间的搭配使用方法,进一步提高命令输出值的处理效率。
1.将左边命令的标准输出传递给右边命令的标准输入。
2.tee将左边命令的标准输出保存至文件或者打印至终端,但不影响管道数据的传递。(使用方法 | tee 文件名或终端 |)
3.xargs用于将不支持管道的命令支持管道左边命令的输出作为参数进行传递。(使用方法 | xargs 命令)