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

如何在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

使用 ; 符号运行多条命令
其中最简单的是分号(;),使用方式如下:cmd1; cmd2; cmd3
<以上代码可复制粘贴,可往左滑>cmd1将首先运行,不管cmd1运行成功还是出现错误,cmd2都会在它之后运行,当cmd2命令完成时,cmd3将会运行。[root@localhost ~]# mkdir /root/new_folder; cd /root/new_folder; touch test_file; pwd ; ls -l
/root/new_folder
total 0
-rw-r--r--. 1 root root 0 Sep  2 22:01 test_file
[root@localhost new_folder]#
<以上代码可复制粘贴,可往左滑>在上面命令汇总,首先mkdir创建了一个文件夹在/root目录中,cd 进入前面创建的目录,touch创建一个空文件,然后pwd显示当前位置,ls -l查看目录中的文件。

微信图片_20201026203938.png
分号(;)后面的空格可带可不带,但空格使命令行更容易读懂。

使用 && 符号运行多条命令有时候希望确保Linux命令中,只有在前一个命令成功结束时,下一个命令才会运行。这就是逻辑和运算符&&出现的地方:
cmd1 && cmd2 && cmd3

如果你使用基于Centos的发行版,你一定遇到过这个使用&&概念的命令:
[root@localhost ~]# yum makecache && yum -y update
<以上代码可复制粘贴,可往左滑>命令行汇总的前半部分时更新缓存,后半部分更新所有安装包。
举个例子,如果new_folder已经存在,那么mkdir命令将返回错误。; 和&& 的差异可以在下面的截图中看到:

微信图片_20201026203941.png

当第一个命令出现错误时,&&分隔的命令会停止执行后面的命令。
使用 || 符号运行多条命令可以使用逻辑操作符(||)运行命令行,但是只有在前一个命令出现错误时才运行下一个命令:cmd1 || cmd2 || cmd3
<以上代码可复制粘贴,可往左滑>如果cmd1运行失败,则运行cmd2。如果cmd2运行成功,cmd3将不会运行。

微信图片_20201026203945.png

在上面的截图中,创建文件夹的命令失败,因为该文件夹已经存在。因为这个命令失败了,所以下一个命令cd /root/new_folder被成功执行。这个命令已经成功运行,下一个命令pwd将不运行。
合并&&和||运算符例如,可以检查文件是否存在,并相应地打印消息。[root@localhost ~]# [ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
<以上代码可复制粘贴,可往左滑>在创建file.txt文件之前和之后运行上面的命令,看看区别:

微信图片_20201026203948.png

总结在一行中运行两个或多个命令可以节省大量时间,并在Linux中提高效率。
收藏 评论0 发布时间:2020-10-26 20:41

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版