Linux命令之管道

1. 背景

bash 命令执行的时候有输出的数据会出现! 那么如果这群数据必需要经过几
道手续之后才能得到我们所想要的格式,应该如何来设定? 这就牵涉到管线命令的问题了 (pipe) ,
管线命令使用的是『 | 』这个界定符号! 另外,管线命令与『连续下达命令』是不一样的呦! 这
点底下我们会再说明。底下我们先举一个例子来说明一下简单的管线命令。

2. 示例

假设我们想要知道 /etc/ 底下有多少文件,那么可以利用 ls /etc 来查阅,不过, 因为 /etc 底下的文
件太多,导致一口气就将屏幕塞满了~不知道前面输出的内容是啥?此时,我们可以透过 less 指令
的协助,利用:

ls -al /etc | less

如此一来,使用 ls 指令输出后的内容,就能够被 less 读取,并且利用 less 的功能,我们就能够前
后翻动相关的信息了!很方便是吧?我们就来了解一下这个管线命令『 | 』的用途吧! 其实这个管
线命令『 | 』仅能处理经由前面一个指令传来的正确信息,也就是 standard output 的信息,对于
stdandard error 并没有直接处理的能力。那么整体的管线命令可以使用下图表示:

3. 使用总结

在这里插入图片描述

在每个管线后面接的第一个数据必定是『指令』喔!而且这个指令必须要能够接受 standard input 的
数据才行,这样的指令才可以是为『管线命令』,例如 less, more, head, tail 等都是可以接受 standard
input 的管线命令啦。至于例如 ls, cp, mv 等就不是管线命令了!因为 ls, cp, mv 并不会接受来自
stdin 的数据。 也就是说,管线命令主要有两个比较需要注意的地方:

  • 管线命令仅会处理 standard output,对于 standard error output 会予以忽略
  • 管线命令必须要能够接受来自前一个指令的数据成为 standard input 继续处理才行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值