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

  一.管道及重定向的理解

     在Linux系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到完成某个复杂功能的目的。

     Linux中,几乎所有命令的返回数据都是纯文本的(因为命令都是运行在CLI下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协作成为可能。

     Linux命令行为为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。

 二.命令行shell的数据流定义

     

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

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

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

 分类 关键字 定义 例子
 重定向 > 将STDOUT重定向到文件(覆盖:如果
目标文件不存在,则创建并添加标准
信息,存在则覆盖其中的内容)
 echo "Hello Haige" >outfile
 ls > outfile
  >> 将STDOUT重定向到文件(追加:
只能重定向标准输出信息,
错误信息进不来)
 echo "Hello Haige" >>outfile
 date >> outfile
  2> 将STDERR重定向到文件(覆盖,没有
错误不输出)
 ls note 2> errorout
  2>&| 将STDERR与STDOUT结合 ls note 2>&| alloutput
  < 重定向STDIN  grep haiyun < /etc/passwd
 管道 | 将一个命令的STDOUT作为另一个命令的STDIN  find / -user hadoop | grep haige










  四.总结

     1.管道通常用来组合不同的命令,以实现一个复杂的功能

     2.重定向通常用来保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇潇雨歇_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值