文章目录

  • 1、使用 ; 在一行中运行多个 Linux 命令
  • 2、使用 && 运行多个 Linux 命令
  • 3、使用 || 一次运行多个 Linux 命令
    • 三个命令对比:
  • 4、结合 && 和 || 操作

在一行中运行两个或多个命令可以节省大量时间,使你更有效率的使用Linux。

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

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

1、使用 ; 在一行中运行多个 Linux 命令

其中最简单的是分号 (;)。您只需组合要使用的几个命令;以下列方式:

cmd1; cmd2; cmd3

在这里,cmd1 将首先运行。不管 cmd1 是成功运行还是出错,cmd2 都会在它之后运行。当 cmd2 命令完成时,cmd3 将运行。

mkdir new_dir; cd new_dir; pwd

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

2、使用 && 运行多个 Linux 命令

有时你希望确保在 Linux 命令链中,下一个命令仅在上一个命令成功结束时运行。这就是逻辑 AND 运算符 && 出现的地方:

cmd1 && cmd2 && cmd3

如果你使用基于 Ubuntu 或 Debian 的发行版,你一定遇到过这个使用 && 概念的命令:

sudo apt update && sudo apt upgrade

这里的第一个命令(sudo apt update)首先刷新软件包数据库缓存。如果没有错误,它将升级所有具有较新版本的可用的软件包。

以前面的例子为例。如果 new_dir 已经存在, mkdir 命令将返回错误。命令&& 的差异可以在下面的屏幕截图中看到:

3、使用 || 一次运行多个 Linux 命令

可以使用逻辑 OR 运算符 (||) 来运行一系列命令,但下一个命令仅在上一个命令以 error结束时运行。这与在 && 中看到的相反。

cmd1 || cmd2 || cmd3

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


在上面的屏幕截图中, mkdir new_dir 命令失败,因为 new_dir 已经存在。由于此命令失败,下一个命令 cd new_dir 执行成功。现在这个命令已经成功运行,下一个命令 pwd 将不会运行。

三个命令对比:

4、结合 && 和 || 操作

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

如果将三个命令与 &&|| 结合使用,它将表现为C/C++ 中的三元运算符条件 ? expression_true ; expression_false)。

cmd1 && cmd2 || cmd3

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

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

在创建file.txt文件前后运行上面的命令看看区别:

同样还可以使用 ;&&||bash 脚本中运行多个命令。

如何在 Linux 终端中一次运行多个 Linux 命令(初学者教程)相关推荐

  1. firefox linux脚本启动,在Linux终端中使用后台运行模式启动程序的方法

    这是一个篇幅不长但是十分有用的教程,可以帮助你在终端启动一个Linux应用程序,并且使终端窗口不会丢失焦点. 我们有很多可以在Linux系统中打开一个终端窗口的方法,这取决于你的选择以及你的桌面环境. ...

  2. 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

    文章目录 1.创建并运行第一个 shell 脚本 2.将 shell 脚本转换为 bash 脚本 3.为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头? 4. ...

  3. 如何在 Linux 终端中复制粘贴 [初学者教程]

    文章目录 1.在终端中使用键盘快捷键进行复制粘贴 2.在终端中复制和粘贴的另一种方法是使用右键单击上下文菜单. 3.在Linux终端使用鼠标中键(滚轮)复制粘贴 4.为什么 Linux 终端不使用&q ...

  4. 如何在Linux终端中复制和粘贴文本、文件和文件夹。

    复制和粘贴是电脑上使用最多的操作之一.虽然使用Ctrl+C和Ctrl+V键盘快捷键很容易做到这一点,但在Linux终端上就不是那么简单了.你有几种选择来完成这项工作.以下是你如何在Linux终端中复制 ...

  5. 如何在Linux终端中展示幻灯片

    导读 如果你需要在你的大学或公司的演示文稿中加入一些独特的风格,那么使用 Linux 终端怎么样?想象一下,这将是多么酷的事情啊! 演示文稿往往是枯燥的.这就是为什么有些人会添加动画或漫画/meme ...

  6. linux终端密码星星,如何在Ubuntu终端中显示密码星号

    每当要求您在Ubuntu终端中键入密码时,都将插入密码,而不会得到任何可视显示或屏幕反馈.在这种情况下,您可能会通过错误输入密码而弄乱密码.这就是视觉反馈如此重要的原因.它可以帮助您跟踪输入的字符数, ...

  7. 5 个用于在 Linux 终端中查找域名 IP 地址的命令

    5 个用于在 Linux 终端中查找域名 IP 地址的命令 本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址.本教程将允许你一次检查多个域.你可能已经使用过这些命令来验证信息.但是 ...

  8. linux终端中使用ctrl+c和ctrl+v

    根据参考链接的解释, 因为ctrl+c被bash shell解释为中断程序的运行, 所以在linux终端中想要粘贴复制需要使用的快捷键是: windows Linux 复制 Ctrl+C Ctrl+S ...

  9. linux中打开gif图片命令,在Linux终端中安装使用Gifski创建GIF动图

    Gifski 是一款跨平台的高质量 GIF 编码器,在 Linux 终端中可以安装及使用 Gifski 来创建高质量的 GIF 动图及使用 Gifski 从视频创建 GIF 动图. Gifski 简介 ...

最新文章

  1. 据说只有 Java 程序员才能看懂! | 每日趣闻
  2. 亚马逊外包平台的50万劳工:人工智能的背后,无尽数据集的建造
  3. 【无标题】12.04 Serverless Meetup 深圳站 | Call 你来参加
  4. oracle的iw算法,[转载]Oracle日期周详解IW
  5. 用户具有FullControl的权限,但是还是创建不了页面?
  6. tf.contrib.rnn.core_rnn_cell.BasicLSTMCell should be replaced by tf.contrib.rnn.BasicLSTMCell.
  7. ES(elasticsearch)备份还原脚本
  8. Linux 命令行常用快捷键
  9. pe版linux操作系统制作,制作Linux版PE系统
  10. 计算机盘中文件夹丢失,“文件夹丢失,我的电脑杀完毒后,很多文件夹找不到了”的解决方案...
  11. 2022-2028年中国财税信息化行业市场行情动态及发展趋向分析报告
  12. MOOC武汉大学SAS第2章作业
  13. HDU1273-漫步森林
  14. 2.5 知识点 pri文件有啥用
  15. python第二课 序列特性
  16. 牛皮纸定格动画怎么制作?AE教程来了
  17. linux设置rx8010时间,【经验】实时时钟模块RX8010SJ精度的软件校准方法
  18. Java把Unicode编码转成汉字
  19. 深度学习与自然语言处理第三次作业——LDA段落主题分布问题
  20. pxcook导出html代码,PxCook中标注工具的使用方法

热门文章

  1. koa compose源码阅读
  2. Google文件系统(GFS)翻译学习
  3. 关于CSS一些细节问题
  4. RDLC使用手册_RDLC报表部署
  5. KMS Server相关资料
  6. Java 建模:子整体软件开发
  7. Tomacat7启动报错 org.apache.catalina.deploy.WebXml addFilter
  8. matlab scope 怎么调出,Matlab Figure图形保存以及Simulink中Scope窗口调出figure菜单
  9. mysql为什么用B 树做索引_mysql为什么用b+树做索引
  10. 单片机的各种存储的含义和区别