首页 > 代码库 > 管道与重定向

管道与重定向

在linux中大多数命令都很简单,为了完成复杂的操作,我们需要将这些命令组合使用。

linux中绝大多数的命令都是返回纯文本格式的数据,而命令的输入格式也是纯文本,这就让命令的组合调用成为可能。

管道和重定向机制就是为了多命令的协作工作。

 

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

名称说明编号默认
STDIN标准输入0键盘输入
STDOUT标准输出1终端
STDERR标准错误2终端

 

 

 

 

命令通过STDIN接受参数,通过STDOUT输出结果或通过STDERR输出错误

 

重定向:

> 将输出信息覆盖到文件                          例:date -h > date.help

>> 将输入信息追加到文件的末尾

< 重定向输入                                         例:grep wangdong < /ect/passwd

通过在>、>>前加入数字可以指定输出的类型,如2>表示重定向输出错误,1>表示重定向输出结果,还可以通过&符号将输出错误和输出结果一起重定向 2>&1

管道:

| 将命令的输出作为后面命令的输入            例:ls -l | grep "*.log"

 

总结:

管道通常用来组合不同的命令来实现复杂的功能

重定向用户保存命令的输出信息或错误信息