重定向 redirection

       每个命令有输入源和输出目的地,默认行为,是标准输入和标准输出。大多数情况,标准输入是键盘,标准输出是屏幕。可以为单独的操作修改输入和输出,这就是重定向。重定向可以使某个命令从源文件输入而不是键盘,或输出到显示器以外的地方(比如存储到文件)。

使用 < > 来定义输入和输出源。使用 >> 追加到文件的末尾。

管道命令

    操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入.


【指令1】正确输出,作为【指令2】的输入 然后【指令2】的输出作为【指令3】的输入 ,【指令3】输出就会直接显示在屏幕上面了。

通过管道之后【指令1】和【指令2】的正确输出不显示在屏幕上面

1.命令 >> 文件 2>&1 :以追加的方式,把正确输出和错误输出都保存在文件中。

2.命令&>文件名:以覆盖的方式将正确和错误输出都保存在文件中。

3.命令&>>文件名:以追加的方式将正确和错误输出都保存在文件中。

4.命令>>文件A 2>>文件B:正确的输出到A文件中,错误的输出到B文件中。


【提醒注意】:

1. 管道命令只处理前一个命令正确输出,不处理错误输出;

2. 管道命令右边命令,必须能够接收标准输入流命令才行;


举个例子

上面最后一条命令解析:取出/etc/passwd文件中倒数第九行用户名和bash名称  

          命令:tail -9  /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users



 : 管道符 linux