你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何在Linux终端同时运行多个Linux命令?

[复制链接]
gaosmile 发布时间:2020-10-26 20:41
在一行中运行两个或多个命令可以节省大量时间,并在Linux中提高效率。在Linux中,有三种方法可以在一行中运行多个命令。
; Command 1 ; Command 2 首先运行Command1,然后运行Command2
&& Command 1 && Command 2 当Command1运行成功并结束,然后运行Command2
|| Command 1 || Command 2 当Command1运行失败时才运行Command2
6 t, w  A  m) h. M" y
使用 ; 符号运行多条命令
- l! E! q2 R6 k6 N. ~6 x& o
其中最简单的是分号(;),使用方式如下:cmd1; cmd2; cmd3
! T8 ]  O1 o$ L- L3 U+ w
<以上代码可复制粘贴,可往左滑>cmd1将首先运行,不管cmd1运行成功还是出现错误,cmd2都会在它之后运行,当cmd2命令完成时,cmd3将会运行。[root@localhost ~]# mkdir /root/new_folder; cd /root/new_folder; touch test_file; pwd ; ls -l
, Y- }, c  Z/ C, c0 r; d( f/root/new_folder; M- s* h* p" s8 [' T3 N$ U
total 08 B- }* }3 c) \
-rw-r--r--. 1 root root 0 Sep  2 22:01 test_file3 Z* }: N4 j- T
[root@localhost new_folder]#8 u) W1 M, D" R: [& V
<以上代码可复制粘贴,可往左滑>在上面命令汇总,首先mkdir创建了一个文件夹在/root目录中,cd 进入前面创建的目录,touch创建一个空文件,然后pwd显示当前位置,ls -l查看目录中的文件。
: [. z% A4 H" t
微信图片_20201026203938.png
分号(;)后面的空格可带可不带,但空格使命令行更容易读懂。
" _- q1 {2 y6 t, ^  R8 H
使用 && 符号运行多条命令有时候希望确保Linux命令中,只有在前一个命令成功结束时,下一个命令才会运行。这就是逻辑和运算符&&出现的地方:2 I: t  [2 ?7 @: o0 r
cmd1 && cmd2 && cmd3
/ B: j8 r$ j# p' c3 i4 h7 p$ @3 x" q' {
如果你使用基于Centos的发行版,你一定遇到过这个使用&&概念的命令:
[root@localhost ~]# yum makecache && yum -y update  P% S, x' L4 U  p+ l
<以上代码可复制粘贴,可往左滑>命令行汇总的前半部分时更新缓存,后半部分更新所有安装包。
) u% d6 w9 [5 S举个例子,如果new_folder已经存在,那么mkdir命令将返回错误。; 和&& 的差异可以在下面的截图中看到:
+ T' f5 [; Z/ ~* W" n
微信图片_20201026203941.png

) U0 w% n- U# ~6 Z9 X, K, j
当第一个命令出现错误时,&&分隔的命令会停止执行后面的命令。* ?% b: M' s  R: g2 \$ S; g
使用 || 符号运行多条命令可以使用逻辑操作符(||)运行命令行,但是只有在前一个命令出现错误时才运行下一个命令:cmd1 || cmd2 || cmd3
/ F1 D" w8 b2 S" d+ `: M5 `  F
<以上代码可复制粘贴,可往左滑>如果cmd1运行失败,则运行cmd2。如果cmd2运行成功,cmd3将不会运行。

2 L+ G: b0 J% p; L9 }
微信图片_20201026203945.png
' w' h$ J4 w1 k7 @$ ?4 ^5 a, i
在上面的截图中,创建文件夹的命令失败,因为该文件夹已经存在。因为这个命令失败了,所以下一个命令cd /root/new_folder被成功执行。这个命令已经成功运行,下一个命令pwd将不运行。+ V# [% v/ U, m  W# x$ F; c
合并&&和||运算符例如,可以检查文件是否存在,并相应地打印消息。[root@localhost ~]# [ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
# N+ D8 O+ V* t$ E7 D) B; P8 ]+ U" _
<以上代码可复制粘贴,可往左滑>在创建file.txt文件之前和之后运行上面的命令,看看区别:

, h: i; ^% X6 j" ]
微信图片_20201026203948.png
+ h3 j1 T8 Y2 ~+ u  O, X
总结在一行中运行两个或多个命令可以节省大量时间,并在Linux中提高效率。
6 I. |4 s; Q9 b0 ?& ?: T9 j; j: F1 e- m4 M
赞 收藏 评论0 发布时间:2020-10-26 20:41

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版