在linux系统中,大多数命令很简单,很少出现复杂功能的命令,每个命令往往实现一个或者几个功能十分简单的功能,我们可以通过将多个简单的命令组合在一起来完成复杂的功能。

在linux中几乎所有的命令返回的都是纯文本,因为命令都是运行在CLI下的,而纯文本又是命令行的输入格式,这就让命令协作成为可能。命令的组合是通过重定向和管道机制完成的。

命令行的数据流有以下定义:

标准输入 说明 编号 默认

STDIN 标准输入 0 键盘

STDOUT 标准输出 1 终端

STDEER 标准错误 2 终端

通过管道和重定向我们可以控制CLI的数据流。

重定向

> 将标准输出重定向到文件中,如果文件不存在,那么创建文件,存在则会覆盖原来的内容。

>> 将标准输出重定向到文件中,如果文件不存在,那么创建文件,存在时会将内容追加到文件结尾

2> 将标准错误重定向到文件中

2>&1 将标准错误和标准输出重定向到文件中去

< 重定向标准输入

管道

将第一个命令的标准输出作为下一个命令的标准输出.....