Linux 管道

Linux 管道 “|”


我们在使用Linux的时候,会遇到这种情况:执行命令A的结果,然后把执行结果放到B文件里,我们可能会使用重定向解决,但是文件C需要调用这个执行结果的时候,我们还要读取文件B?这个时候我们就需要管道命令了。


管道(使用符号“|”表示)用来连接命令

  1. 管道命令的操作符是:”|”,处理前一个命令的正确执行结果,传递给下一个命令,将作为标准的输入,只传递正确的信息(错误结果需要转换为正确结果)。

  2. 语法:命令1 | 命令2 | 命令3 | …
    Linux 管道
    – 将命令1的输出发送给命令2的输入,命令2的输出发送到命令3的输入
    – 错误默认不能通过管道转发,可利用2>&1 或 |& 实现
    – 最后一个命令会在当前shell进程的子shell进程中执行用来
    – 组合多种工具的功能
  3. 举例
    a.ls -l /etc | less : 一页一页地查看输入
    b.echo "hello world" | mail -s "test" user@example.com :通过电子邮件发送输入
    Linux 管道
    c.echo "testprint"| lpr -P printer_name: 把输入发送给打印机
    d. echo 2.5+1.5 |bc:计算
    Linux 管道
    e.将错误信息转换为正确信息
    Linux 管道
    Linux 管道
    正确信息统计出有422个
    Linux 管道
    用2>&1转换后正确信息加上错误的一共443个
    Linux 管道
    用|&转换后正确信息加上错误的一共443个
    f.tar -cvf - /home | tar -xvf -:将 /home 里面的文件打包,但打包的数据不是记录到文件,而是传送到 stdout,经过管道后,将 tar -cvf - /home 传送给后面的 tar -xvf - , 后面的这个 - 则是取前一个命令的 stdout, 因此,就不 需要使用临时file了

转载于:https://blog.51cto.com/13805636/2145945

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值