13.Linux多命令协作:管道及重定向

来源:互联网 发布:亚太会计师事务所 知乎 编辑:程序博客网 时间:2024/05/17 21:42

开源文化的核心理念之一就是不要重复发明轮子,很多开源软件都大量使用了其他开源软件或功能组建,同样,Linux中的命令也往往只实现某个特定的、单一的功能,复杂功能往往都是通过多命令协作完成的

管道及重定向就是Linux多命令协作的基础机制

Linux的Shell对数据流进行以下分类定义: 

stdin     标准输入  编号为:0   默认:键盘

stdout   标准输出  编号为:1   默认:终端

stderr    标准错误  编号为:2   默认:终端

重定向用来控制终端数据流:

>        将标准输入以覆盖形式重定向到指定文件,如:ls > outfile

>>      将标准输入以追加形式重定向到指定文件,如:ls >> outfile

<        重定向标准输入   如:grep linuxcast < /etc/passwd

2>      重定向标准错误

2>&1   将标准错误合并到标准输出中

管道“|”用以将一个命令的标准输出作为另一个命令的标准输入:

命令1  |  命令2

管道通常用来组合不同命令

重定向通常用来保存输出信息