站长资源操作系统
linux管道及重定向详解
简介在linux系统中,大多数命令很简单,很少出现复杂功能的命令,每个命令往往实现一个或者几个功能十分简单的功能,我们可以通过将多个简单的命令组合在一起来完成复杂的功能。 在linux中几乎所有的命令返回的都是纯文本,因为命令都是运行在CLI下的,而纯文本又是命令行的输入格式,这就让命令协作成为可能。
在linux系统中,大多数命令很简单,很少出现复杂功能的命令,每个命令往往实现一个或者几个功能十分简单的功能,我们可以通过将多个简单的命令组合在一起来完成复杂的功能。
在linux中几乎所有的命令返回的都是纯文本,因为命令都是运行在CLI下的,而纯文本又是命令行的输入格式,这就让命令协作成为可能。命令的组合是通过重定向和管道机制完成的。
命令行的数据流有以下定义:
标准输入 说明 编号 默认
STDIN 标准输入 0 键盘
STDOUT 标准输出 1 终端
STDEER 标准错误 2 终端
通过管道和重定向我们可以控制CLI的数据流。
重定向
> 将标准输出重定向到文件中,如果文件不存在,那么创建文件,存在则会覆盖原来的内容。
将标准输出重定向到文件中,如果文件不存在,那么创建文件,存在时会将内容追加到文件结尾
2> 将标准错误重定向到文件中
2>&1 将标准错误和标准输出重定向到文件中去
< 重定向标准输入
管道
将第一个命令的标准输出作为下一个命令的标准输出.....