岁月博客

  • 首页
  • 跨境电商
  • 技术文档
  • 软路由虚拟化
  • 服务器技术
  • VPS
  • 羊毛
    • 羊毛
    • 自助薅京豆系统
岁月博客
致力于关注网络安全与黑客文化,专注网络技术的分享与交流。
  1. 首页
  2. 技术文档
  3. 正文

linux一次性执行多个命令(如何在Linux终端中一次运行多个命令)

2022年4月13日 334点热度 1人点赞 0条评论

在一行中运行两个或多个命令可以节省大量时间,并帮助在Linux中变得更加简单和高效。

在Linux中,可以通过三种方式在一行中运行多个命令:

;命令1 ; 命令2首先运行命令1,然后运行命令2
&&命令1 && 命令2仅在命令1成功结束时才运行命令2
//命令1 // 命令2仅当命令1失败时才运行命令2

注:上表由于md写法缘故,用 // 代替 ||

下面详细展示如何在Linux中使用多个命令。

使用 ; 运行多个Linux命令

其中最简单的就是分号 ; ,只需组合要使用的几个命令即可:

cmd1; cmd2; cmd3

在这里,cmd1将首先运行。无论cmd1运行成功还是出错,cmd2都将在其之后运行。当cmd2命令完成时,cmd3将运行。

下面是例子:

root@pc:mkdir new_dir; cd new_dir; pwd
/home/new_dir

在上面的命令中,首先使用mkdir命令创建一个名为new_dir的新目录。然后,使用cd命令切换到该新创建的目录。最后,使用pwd命令打印当前位置。

分号 ; 后的空格是可选的,但它使命令易于阅读。

使用 && 运行多个Linux命令

有时要确保Linux命令的下一条命令仅在上一条命令成功结束时才运行。这里就要用到逻辑AND运算符&&了:

cmd1 && cmd2 && cmd3

如果使用基于Ubuntu或Debian的发行版,有时会用到以下命令:

sudo apt update && sudo apt upgrade

在这里,第一个命令刷新软件包数据库缓存。如果没有错误,它将升级所有具有较新版本的软件包。

以前面的示例为例。因为new_dir已经存在,则mkdir命令将返回错误。并详细输出错误log:

root@pc:mkdir new_dir && cd new_dir && pwd

mkdir: cannot create directory ‘new_dir’: File exists

使用 || 运行多个Linux命令

可以使用逻辑OR运算符 || 来运行多个命令,但是仅当前一个命令错误结束时才运行下一个命令,这与在&&中看到的相反。

cmd1 || cmd2 || cmd3

如果cmd1失败,则cmd2运行。如果cmd2成功运行,则cmd3将不会运行。

Linux命令示例:

root@pc:mkdir new_dir || cd new_dir || pwd
mkdir: cannot create directory ‘new_dir’: File exists
root@pc:/home/new_dir#

上面可以看出,mkdir new_dir命令失败,因为new_dir已经存在。由于此命令失败,因此下一个命令cd new_dir将成功执行。由于此命令已成功运行,下一个命令pwd将不再运行。

结合 && 和 || 使用

可以组合运算符来运行两个或多个Linux命令。

如果将三个命令与 && 和 || 组合在一起,它将在C / C++ 中充当三元运算符。

cmd1 && cmd2 || cmd3

例如,可以检查bash中是否存在文件,并相应地打印消息。

[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"

在创建file.txt文件之前和之后运行上述命令,以查看区别:

root@pc:[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
File doesn't exist

root@pc:vi file.txt

root@pc:[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
File exists

Linux终端中一次运行多个命令是节省时间的许多Linux命令行技巧之一。尽管简单,但这是任何Linux终端用户都应该知道的基本概念。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请及时联系我们qq邮箱:1107996578@qq.com,一经查实,本站将立刻删除。

标签: 暂无
最后更新:2022年4月13日

岁月

以梦为马,随处可栖

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

岁月

以梦为马,随处可栖

最新 热点 随机
最新 热点 随机
抖音是什么平台,抖音平台基本属性介绍 抖加投放技巧以及注意事项,抖音dou+详细的投放攻略 抖音id怎么修改,抖音用户名修改教程 ipad抖音怎么设置横竖屏,平板横竖屏的设置教程 抖音浏览量突然猛涨怎么回事,抖音播放突然增多的原因 fiddler创建根证书不成功解决方案--岁月博客提供
Openssh服务器端和客户端的配置及应用(openssh安装及简单配置) CentOS安装iftop查看网络带宽使用情况 CentOS 6.0 设置IP地址、网关、DNS 青龙系列教程一:青龙面板安装教程+依赖+拉库+互助(青龙面板从零搭建教程) 为您的数据平台提供基于 Apache Ranger 的授权的最佳实践 青龙V2.10.13无法安装和删除依赖解决方法,npm err! enotempty: directory not empty, rename
分类
  • VPS
  • 技术文档
  • 新闻
  • 服务器技术
  • 未分类
  • 羊毛
  • 跨境电商
  • 软路由虚拟化
最近评论
kkkki 发布于 9 个月前(07月05日) 100好像可以开韩国了把,我今天误打误撞开成功了
kiritoghy 发布于 10 个月前(05月26日) 想问一下如果azure for students开B1S+64G SSD就是免费的吗,不会扣100刀...

COPYRIGHT © 2022 岁月博客 ALL RIGHTS RESERVED.

豫ICP备2022005050号