重定向和管道

 重定向

   程序:指令+数据

   读入数据:Input

   输出数据:Output

 linux给程序提供三种I/O设备

   标准输入(stdin)-0 默认接受来自键盘的输入

   标准输出(stdinout)-1默认输出到终端窗口

   标准错误(stderr)-2 默认输出到终端窗口

 I/O重定向:改变默认位置

STDOUT和STDERR可以被冲顶向到文件:

  命令  操作符号   文件名

支持的操作符号包括:

> 把STDOUT重定向到文件

2>把STDERR重定向到文件

&>把所有输出重定向到文件

>文件内容会被覆盖

blob.png

# set -C:禁止将内容覆盖已有文件,但可以追加

  强制覆盖: >|

# set +C:允许覆盖

>>原有内容基础上,追加内容

把输出和错误重新定向到文件

2>:覆盖重定向错误输出数据流

2>>:追加重定向错误输出数据流

合并标准输出和错误输出为同一个数据流进行重定向

&>:覆盖重定向

&>>:追加重定向

二、管道

 命令1 |命令2|命令3|。。

将命令1的STDOUT发送给命令2的STDIN,命令2的STDOUT发送到命令3的STDIN

STDERR默认不能通过管道转发,可利用2>&1或|&实现

管道可以将多种工具的功能组合使用

blob.png

原创文章,作者:因为有你,如若转载,请注明出处:http://www.178linux.com/31302