linux的管道符

发布时间 2023-09-29 19:03:58作者: 折翼的小鸟先生

前言:之前一篇写linux管道符的博客丢失了,今天做题又遇到了,顺便再写一遍

1.1 管道符的作用

再使用linux命令时,如果我们想一行执行多条命令或者有条件的执行下一条命令,这时我们就需

要用到linux管道符了

1.2 ;

对于;,其使用格式为

command1;command2;隔开两个命令,依次执行,无论第一个命令是否执行成功,都会执行

第二个命令

1.3 |

|的用法为 将上一条命令的输出,作为下一条命令的参数

方式:command1|command2

举个例子ping 192.168.3.5|ls

如果我们再bash 中执行的话,只会执行第一条命令,不会执行第二条命令

为什么呢?当我们执行第个命令时,返回了ping 这个ip地址的结果,并将其作为ls命令的输入,

但ls期望接受的输入是文件和目录列表,所以ls并不会处理来自ping的数据,故第二条命令并不

会执行

1.4 &

使用方式

command1 &

默认情况下,进程是在前台进行的,但前台进行的命令会占用shell,此时我们无法进行更多的

操作了,我们使用&,可以将不需要进行交互的命令放在后台进行,从而可以释放出前台的

shell,实现更多的操作。

1.5 &&

&&连接两个命令,实现逻辑与的操作,只有左边返回为真时右侧命令才会执行

原因是第一条命令执行的结果会被存储在shell变量中,执行成功为1,执行失败为0,

只有shell变量为1时右侧的命令才会被执行。

1.6 ||

&&相反,只有第一条命令执行为假才会执行第二条命令,实现了逻辑或的功能