学习管道之前我们先了解一下linux的命令执行顺序
10年积累的成都做网站、成都网站建设、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有秦州免费网站建设让你可以放心的选择与我们合作。
通常情况下,我们在终端只能执行一条命令,然后按下回车执行,那么如何执行多条命令呢?
管道命令使用 | 作为界定符号,管道命令与上面说的连续执行命令不一样。
通过管道将 ls -al 的输出作为 下一个命令 less 的输入,方便浏览。
ps:cut在处理多空格相连的数据时,比较吃力。
sort
如果tee后接的文件已存在,内容会被覆盖掉,加上 -a参数则会累加
col经常被用于将 man page 转存为纯文本文件
split:顾名思义,讲一个大文件依据文件大小或行数切割成为小文件
对于初学者来说这几个意思可能只知道其中几个的意思,下面我们来看一下。
1、竖线‘|’ ,在linux中是作为管道符的,将‘|’前面命令的输出作为'|'后面的输入。举个例子
加上|head -n1 之后
2、双竖线‘||’,用双竖线‘||’分割的多条命令,执行的时候遵循如下规则,如果前一条命令为真,则后面的命令不会执行,如果前一条命令为假,则继续执行后面的命令。
举例输入1小于2双竖线输出b,前面为真,后面不执行则没有输出b,输入1大于2双竖线echo b,前面为假则输出b。
再举一个实用性的例子,判断文件是否存在,不存在则创建,存在就什么都不执行。
3、同时执行多条命令,不管命令是否执行成功
4、 可同时执行多条命令,当碰到执行错误的命令时,将不再执行后面的命令。如果一直没有错误的,则执行完毕。
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
命令如下:ls -lah | more
如果接触到C语言的话,可以用C语言制作一条管道,可以把一个程序和另外一个程序连接在一起。
linux中管道符的使用非常普遍
管道符的用法是将第一个命令的结果传递给第二个命令作为输入
管道符的使用有两个条件:
格式: 命令1 | 命令2
常见应用举例:netstat -an | grep ESTABLISHED | wc -l #查看服务器上连接了多少客户端
wc -l 是查看输入了多少行
只要理解了什么是管道,就很简单了
管道“| ”就是将前面命令输出作为管道后面命令的输入
如:
ls -a | grep test | awk "{print $1}"
就是将ls -a 显示的结果,在帅选出含有test,然后打印出第一列。
题主你好,
首先, linux下的管道符使用"竖杠"表示:
|
它的作用是:
连接两个命令,将第一个命令的输出作为第二个命令的输入.
形象一点的比喻:
管道符好比流水线上的传送带,比如,一个流水线是由两步组成的,先由第一道工序将黄桃洗净,然后通过传送带将洗净的黄桃送到第二道工序装罐,用管道的思维去处理这个过程就是:
清洗 黄桃 | 装罐
需要注意的是,其实每个过程都是由 "动作+被作用对象"组成,也就是说,上面的例子其实是:
清洗 黄桃
装罐 洗净的黄桃
这两步组成的,但由于管道符的使用,除了第一道工序需要"被作用对象"外,后面的工序使用的是管道符传过来的"前一道工序处理过的对象".
举例来说,使用ls和grep这两个命令实现只输出文件的详细信息,不输出目录的详细信息.正常情况下这俩半个命令的用法是:
ls 选项 路径
grep 模式 文件流
而使用管道连在一起的写法:
ls -l /root/ok/tmp | grep '^-'
*.在使用管道符的组合命令中, 只有第一个命令需要 "被作用对象"
希望对题主有帮助,欢迎追问