管道线的出现源于命令的一种能力,即命令可以从标准输入读取数据,然后再把数据输送到标准输出,命令的这种能力被管道线这个 shell 特性所利用。编写管道线命令时使用管道操作符 “|”(竖杠),一个命令的标准输出可以管道到另一个命令的标准输入:
command1 | command2
结合已经知道 less 命令接受标准输入,那么就可以通过管道线把任何命令的输出传送给 less ,用 less 来一页一页地显示任何命令的输出,命令把它的运行结果输送到标准输出了。使用这项技术,我们可以方便地检测会产生标准输出的任一命令的运行结果。接着,我们还可以把输出结果按要求进行过滤,新的标准输出结果再输送给标准输入,这就是过滤器。管道线经常用来对数据完成复杂的操作。有可能会把几个命令放在一起组成一个管道线。通常,以这种方式使用的命令被称为过滤器。
过滤器接受输入,以某种方式改变它,然后输出它。例如:
jeremy@ubuntu:~$ ls /tmp /tmp/a | sort | uniq | grep ls
lsl.txt
ls-output
ls-output~
ls.output
程序先将/tmp和/tmp/a目录的内容用ls列出,传输给sort进行合并排序列出,再由uniq过滤,去除重复行,最后找出含有"ls"关键字的匹配文本。
体验管道线的乐趣
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...