在Linux中,我们经常会用到&、&&、|、||及分号(;),但是好多人对其会混淆,不明白其中的意思,今天为大家讲解一下&、&&、|、||及分号(;)各自的说明和用法。
一、&
&:表示程序在后台运行
例如:后台运行jar包
[root@localhost ~]# java -jar gateway.jar &
[2] 34637
二、&&
&&:逻辑“与”,表示前面命令执行成功时,才执行后面命令;如果前面命令执行失败,后面的命令不再执行。
例如:
# 前面命令执行成功时,才执行后面命令
[root@localhost ~]# ls -l && echo "Success"
total 194644
-rw-------. 1 root root 1260 Sep 6 23:29 anaconda-ks.cfg
-rw-r--r-- 1 root root 81751231 Oct 8 10:20 gateway.jar
-rw-r--r-- 1 root root 117557932 Jul 6 15:14 jdk-8u351-linux-x64.rpm
Success
# 前面命令执行失败时,不再执行后面命令
[root@localhost ~]# ls -l test.txt && echo "Failed"
ls: cannot access test.txt: No such file or directory
三、|
|:管道符,表示上一条命令的输出,作为下一条命令参数进行传递。
例如:
[root@localhost ~]# echo "ok" |wc -l
1
四、||
||:逻辑“或”,表示前面命令执行成功时,后面命令不再执行;如果前面命令执行失败,后面的命令再执行。
例如:
# 前面命令执行成功时,不再执行后面命令
[root@localhost ~]# ls -l 123.txt || echo "Success"
-rw-r--r-- 1 root root 3 Nov 15 13:57 123.txt
# 前面命令执行失败时,才执行后面命令
[root@localhost ~]# ls -l test.txt || echo "Failed"
ls: cannot access test.txt: No such file or directory
Failed
五、;
;:(英文分号;)表示每个命令按照从左到右的顺序来执行,每个命令彼此之间无任何关联,所有命令都会执行。
例如:
[root@localhost ~]# ls -l 123.txt;echo "Success"
-rw-r--r-- 1 root root 3 Nov 15 13:57 123.txt
Success
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
评论