管道与重定向

在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"

总结:

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

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

原文地址:https://www.cnblogs.com/xiaodo0/p/3929092.html