新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 软件技术 > 操作系统 > linux

详解Linux命令中;、|、& 、&& 、 ||之间的区别

时间:2019-06-11 10:02:59  来源:  作者:

概述

在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令,今天主要介绍一下linux命令分号&&和&,|和||的用法。


01

“;”分号用法

方式:command1 ; command2

用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。


02

“| ”管道符用法

上一条命令的输出,作为下一条命令参数

方式:command1 | command2

Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推

利用一个管道

# rpm -qa|grep perl
详解Linux命令中;、|、& 、&& 、 ||之间的区别

 

这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有perl字符的RPM包来。

利用多个管道

# cat /etc/passwd | grep /bin/bash | wc -l

详解Linux命令中;、|、& 、&& 、 ||之间的区别

 

这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash


03

“&”符号用法

&放在启动参数后面表示设置此进程为后台进程

方式:command1 &

默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的。


04

“&&”符号用法

shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? == 1 时(我认为是非0的数,返回值在0-255间),表示执行失败。

有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。

语法格式如下:

command1 && command2 [&& command3 ...]

命令之间使用 && 连接,实现逻辑与的功能。

只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。

只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。


05

“||”符号用法

逻辑或的功能

语法格式如下:

command1 || command2 [|| command3 ...]

命令之间使用 || 连接,实现逻辑或的功能。

只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。

只要有一个命令返回真(命令返回值 $? == 0),后面的命令就不会被执行。 –直到返回真的地方停止执行。

举例,ping命令判断存活主机

ping -c 1 -w 1 192.168.1.1 &> /dev/null && result=0 ||result=1
if [ "$result" == 0 ];then
 echo "192.168.1.1 is UP!" 
else
 echo "192.168.2.1 is DOWN!"
fi

注意 &>要连起来写。

详解Linux命令中;、|、& 、&& 、 ||之间的区别
 


Tags:Linux   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
1、反斜杠的使用反斜线可以将紧随其后的单个字符视为字面意义上的字符,如*在 Shell中代表任意字符,在查找时经常会使用*来查找多个匹配的文件,但是有时我们需要找的就是*字...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
1. 前言本文主要讲解如何使用Linux命令行测试网站连接速度。网站速度可以对用户体验有很大的影响,如果你是一个web开发人员,你当然希望开发一个能让用户迅速打开的网站。怎...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
第一步:创建脚本#!/bin/bash# func:自动监控tomcat脚本并且执行重启操作# 获取tomcat进程ID(其中[grep -w 'tomcat']代码中的tomcat需要替换为你的tomcat文件夹名)Tomc...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
0.新建操作:mkdir abc #新建一个文件夹touch abc.sh #新建一个文件1.查看操作查看目录:ll #显示目录文件详细信息du -h 文件/目录 #查看大小pwd #显示路径查看文件内容:cat|hea...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
本文记录的是在CentOS 7下安装与配置jdk-8u162的过程。一、下载jdk-8u162版本链接地址:官方地址二、上传jdk到centos下三、检查当前linux系统上是否有jdk,linux命令:rpm -qa |...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
中断处理 - 上半部(硬中断)由于 APIC中断控制器 有点小复杂,所以本文主要通过 8259A中断控制器 来介绍Linux对中断的处理过程。中断处理相关结构前面说过,8259A中断控制器 由两...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
我们都知道没有插电的计算机就是一堆废铁,那么插了电的计算机其实也就是带了电的废铁,哈哈,没有软件的运作,计算机的功能也无从发挥。就好像行尸走肉,所以我们要了解一下软件是什...【详细内容】
2019-11-27   Linux  点击:(0)  评论:(0)  加入收藏
作为一个Java开发人员,有些常用的Linux命令必须掌握。即使平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服...【详细内容】
2019-11-26   Linux  点击:(4)  评论:(0)  加入收藏
1、把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩mydata目录2、把/home目录下面的mydata.zip解压到mydatabak目录里面unzip mydata.zip -d m...【详细内容】
2019-11-26   Linux  点击:(2)  评论:(0)  加入收藏
Linux 的优秀之处自然不必多说。如果将操作系统比作一辆汽车,那 Linux 就是一辆性能出色的多功能越野车,上山下海飞天无所不能。如果你拥有了它,一定不会只满足于驾驶它上下班,...【详细内容】
2019-11-26   Linux  点击:(2)  评论:(0)  加入收藏
硬盘分区并格式化好以后,就能在Linux系统上使用了,使用之前需要挂载到对应的目录上面去。...【详细内容】
2019-11-26   Linux  点击:(4)  评论:(0)  加入收藏
如果这篇文章对您有帮助,请关注并点赞,感谢您的支持,如果还有其他问题,请私信给我今天来介绍linux下如何添加账户及修改密码的命令首先来介绍如何添加账户命令格式 useradd...【详细内容】
2019-11-26   Linux  点击:(1)  评论:(0)  加入收藏
1. 基本用法最简单的用法就是不带参数,仅输入 ssh 再加上主机地址,比如:ssh 192.168.0.112这种形式登陆主机,会默认使用当前用户进行登录。第一次连接的时候,SSH 会确认目标主机...【详细内容】
2019-11-25   Linux  点击:(3)  评论:(0)  加入收藏
最近在用freeswitch软交换进行语音通话,通话的时候需要调用音频文件进行播放,当并发量上来的时候,freeswitch监听服务的端口会不断的down掉,查看日志发现报了一个错如下: 这个问...【详细内容】
2019-11-25   Linux  点击:(1)  评论:(0)  加入收藏
概述运维工作中,常常需要下载文件,因为网站下载速度限制或者网络等原因导致下载让人无法忍受,所以今天推荐这款多线程下载工具--axel,下载文件时可以替代curl、wget。Axel tries...【详细内容】
2019-11-25   Linux  点击:(2)  评论:(0)  加入收藏
每个人喜欢的版本因人而异。可以给你推几荐个常用的版本,优缺点对比,然后你根据自己的需求选择:linux常见发行版本(一):deepin 这是中国的操作系统中排名最高的一个,基于debian,以易...【详细内容】
2019-11-22   Linux  点击:(8)  评论:(0)  加入收藏
基本环境准备jdk安装配置。安装目录例如:/usr/java/jdk1.8.0_05tomcat下载放到约定目录。例如:/usr/local/dmstomcat tomcat做成系统服务把tomcat做成系统服务,就可以使用servi...【详细内容】
2019-11-20   Linux  点击:(6)  评论:(0)  加入收藏
在工作中经常有需要将linux虚拟机配置成固定的IP地址。首先要关闭VMware的DHCP编辑->虚拟机网络配置 选择VMnet8,取消勾选"使用本地DHCP服务将IP地址分配给虚拟机"选项。 点...【详细内容】
2019-11-20   Linux  点击:(7)  评论:(0)  加入收藏
应朋友们要求,介绍上Linux系统下的实时监控平台,在上次提到了glances,它提供了较多的监控指标,那如果我们要看历史数据呢?某一时间段的回放呢?显然glances是做不到的。因此,实时监...【详细内容】
2019-11-20   Linux  点击:(6)  评论:(0)  加入收藏
想玩linux,电脑不想装双系统,性能不够跑不了虚拟机,树莓派买不起,怎么办?安卓手机啊本文就以Nexus 5X(PureNexus 7.1.2)为例,介绍如何在手机上跑Linux,这是一种我认为最简便 最好看的...【详细内容】
2019-11-20   Linux  点击:(10)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条