百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

如何在 Linux 中高效运行终端命令

sinye56 2024-11-12 12:42 3 浏览 0 评论

Linux 终端是一个功能强大的工具,允许您使用命令执行各种系统操作。文件操作、程序管理和服务自动化是您可以使用 shell 命令高效执行的一些操作。

但是,在执行多个操作时,逐个运行命令效率不高。一种更快的方法是在一行中链接多个命令。这不仅加快了流程,而且还节省了您的时间。

让我们探索一下在 Linux 中一次运行多个命令的所有方法。

一次运行多个 Linux 命令

Linux 使用三个运算符来帮助您在一行中执行多个命令:

  • 分号 (;) 运算符
  • 逻辑 OR (||) 运算符
  • 逻辑 AND (&&) 运算符

所有这些运算符都可以同时运行两个或多个 shell 命令。但是,了解要使用的运算符以及何时使用可以帮助您更有效地创建命令。以下各节讨论正确使用这些运算符的目的和语法:

1. 使用分号 (;) 运算符

使用分号对命令链进行分段是在 Linux 终端中运行多个命令的最常见做法。部分原因是运算符的执行方式:它运行序列中的所有命令,而不管前一个命令是否成功运行。

例如,如果有两个命令:命令 A 和命令 B,则在它们之间使用分号运算符可确保无论第一个命令的输出如何,这两个命令都按顺序执行。

command A ; command B

因此,如果您需要同时运行两个或多个不相关的终端命令,以便第一个命令的输出状态不会影响后者的执行,分号运算符是要走的路。

示例用例:如果要查看当前用户的名称和系统主机名,可以使用:

xiaoyuer@linuxmi:~/www.linuxmi.com$ whoami ; hostname
xiaoyuer
linuxmi

请记住,shell 按照您提及它们的确切顺序执行这些命令。输出如下所示:

2. 使用 OR (||)运算符

“or”这个词的定义在这里是一个赠品:当你使用 OR 运算符运行两个命令时,你告诉 shell 只执行两个命令中的一个。

假设将 OR 运算符与两个命令一起使用:命令 A 和命令 B。以下是使用 OR 运算符的连体命令的外观:

command A || command B

在这里,命令 B 仅在命令 A 失败时执行,即当命令 A 返回错误时。同样,如果命令 A 成功运行,命令 B 将不会执行。

谈到它的用例,当你需要同时运行两个相关的命令时,你可以使用 OR 运算符,这样 shell 只有在前一个命令失败时才执行下一个命令。

示例用例:假设您要创建一个新文件,例如 Document.txt,但在执行此操作之前,您需要确保该文件尚未存在于当前目录中。在这种情况下,您可以按以下顺序运行命令:

xiaoyuer@linuxmi:~/www.linuxmi.com$ find . -name linuxmi.txt || touch linuxmi.txt
xiaoyuer@linuxmi:~/www.linuxmi.com$

在这里,find 命令将查找 linux.txt 文件的当前工作目录。如果找到该文件,命令进度将停止,并且第二个命令将不会运行。

另一方面,如果找不到该文件,则将执行右侧的命令,并在当前工作目录中创建一个名为 linux.txt 的新文件。

3. 使用 AND (&&) 运算符

正如您可能已经猜到的那样,AND 运算符允许您按顺序运行多个命令,即,它仅在前一个命令成功运行时执行序列中的下一个命令。

为了更好地理解这一点,请考虑这样一个场景:您希望运行两个相关命令,以便仅当第一个命令返回有效输出时才运行第二个命令。在这种情况下,您可以使用 AND 运算符(称为 &&)将命令绑定在一起,以获得所需的结果。

示例用例:在 Linux 中,AND 运算符最常见的用例之一是创建一个新目录并立即进入该目录。这样,您就不必分别运行这两个命令来执行操作。

在本指南中,假设您要创建一个名为“linuxmi”的新目录,并立即将当前工作目录更改为该目录。这是你可以做到的:

xiaoyuer@linuxmi:~/www.linuxmi.com$ mkdir linuxmi && cd linuxmi
xiaoyuer@linuxmi:~/www.linuxmi.com/linuxmi$

在这里,mkdir 命令将在当前工作目录中创建一个名为 linuxmi 的新目录。如果成功,它将允许执行 cd 命令。

组合多个运算符以满足您的执行标准

除了在命令中单独使用运算符外,还可以对多个运算符进行分组以满足执行条件。当您想要执行满足多个条件的命令时,这会派上用场。

例如,假设您希望仅在命令 A 失败时才执行两个命令(命令 B 和命令 C)。为此,您需要使用运算符,如下面的符号所示:

command A || command B && command C

示例用例:假设您要确定当前工作目录中是否存在文件夹(名为 linuxmi),如果不存在,则创建该文件夹。

在这种情况下,您可以一起使用 OR 和 AND 运算符来有效地执行整个操作,而不是运行单独的命令来查找目录并创建新目录。

就是这样子:

find . -name linuxmi1 || echo "目录未找到" && mkdir linuxmi

在此命令中,find 要求 shell 在当前工作目录中搜索名为 Document 的文件夹。如果该目录不存在,终端会将流传输到 echo 和 mkdir 命令,这些命令分别打印指定的字符串并创建新文件夹。

使用 shell 脚本一次运行多个命令

shell 脚本是一个程序,可让您一次自动执行一系列命令。它消除了在 Linux 终端中键入多个命令的需要,并节省了时间和精力。

只需创建一个脚本,其中包含频繁运行所需的所有命令,并将其转换为可执行文件。然后,在您需要执行这些命令时运行它,它将为您完成所有操作。

首先创建一个新文件,然后键入要立即执行的命令。使用适当的名称保存文件,并在末尾添加“.sh”扩展名。

现在,打开终端并导航到保存脚本的文件夹。运行以下命令以使文件可执行:

chmod +x linuxmi.sh

完成后,下次需要再次执行这些命令时,请转到终端中包含脚本文件的文件夹并像这样执行它:

./linuxmi.sh

您可以使用它的一个应用程序是系统更新。与其在每次要更新系统时在终端中手动键入和执行 sudo apt updatesudo apt upgrade 命令,不如创建一个脚本来自动为您运行命令。

只需使用以下命令创建一个脚本文件,然后按照上面演示的其余步骤操作:

#!/bin/bash
sudo apt update && sudo apt upgrade -y

在 Linux 中高效运行终端命令

如您所见,在命令中使用运算符可以简化大多数命令行操作。

如果您希望通过终端在计算机上执行不同的系统操作,了解如何使用这些运算符将非常有帮助,并帮助您有效地运行 Linux 命令。

同样,如果您刚刚开始(或者不太熟悉)Linux,那么学习不同的终端命令是掌握命令行界面的又一步。Linux 终端是一个功能强大的工具,允许您使用命令执行各种系统操作。文件操作、程序管理和服务自动化是您可以使用 shell 命令高效执行的一些操作。

但是,在执行多个操作时,逐个运行命令效率不高。一种更快的方法是在一行中链接多个命令。这不仅加快了流程,而且还节省了您的时间。

让我们探索一下在 Linux 中一次运行多个命令的所有方法。

一次运行多个 Linux 命令

Linux 使用三个运算符来帮助您在一行中执行多个命令:

  • 分号 (;) 运算符
  • 逻辑 OR (||) 运算符
  • 逻辑 AND (&&) 运算符

所有这些运算符都可以同时运行两个或多个 shell 命令。但是,了解要使用的运算符以及何时使用可以帮助您更有效地创建命令。以下各节讨论正确使用这些运算符的目的和语法:

1. 使用分号 (;) 运算符

使用分号对命令链进行分段是在 Linux 终端中运行多个命令的最常见做法。部分原因是运算符的执行方式:它运行序列中的所有命令,而不管前一个命令是否成功运行。

例如,如果有两个命令:命令 A 和命令 B,则在它们之间使用分号运算符可确保无论第一个命令的输出如何,这两个命令都按顺序执行。

command A ; command B

因此,如果您需要同时运行两个或多个不相关的终端命令,以便第一个命令的输出状态不会影响后者的执行,分号运算符是要走的路。

示例用例:如果要查看当前用户的名称和系统主机名,可以使用:

xiaoyuer@linuxmi:~/www.linuxmi.com$ whoami ; hostname
xiaoyuer
linuxmi

请记住,shell 按照您提及它们的确切顺序执行这些命令。输出如下所示:

2. 使用 OR (||)运算符

“or”这个词的定义在这里是一个赠品:当你使用 OR 运算符运行两个命令时,你告诉 shell 只执行两个命令中的一个。

假设将 OR 运算符与两个命令一起使用:命令 A 和命令 B。以下是使用 OR 运算符的连体命令的外观:

command A || command B

在这里,命令 B 仅在命令 A 失败时执行,即当命令 A 返回错误时。同样,如果命令 A 成功运行,命令 B 将不会执行。

谈到它的用例,当你需要同时运行两个相关的命令时,你可以使用 OR 运算符,这样 shell 只有在前一个命令失败时才执行下一个命令。

示例用例:假设您要创建一个新文件,例如 Document.txt,但在执行此操作之前,您需要确保该文件尚未存在于当前目录中。在这种情况下,您可以按以下顺序运行命令:

xiaoyuer@linuxmi:~/www.linuxmi.com$ find . -name linuxmi.txt || touch linuxmi.txt
xiaoyuer@linuxmi:~/www.linuxmi.com$

在这里,find 命令将查找 linux.txt 文件的当前工作目录。如果找到该文件,命令进度将停止,并且第二个命令将不会运行。

另一方面,如果找不到该文件,则将执行右侧的命令,并在当前工作目录中创建一个名为 linux.txt 的新文件。

3. 使用 AND (&&) 运算符

正如您可能已经猜到的那样,AND 运算符允许您按顺序运行多个命令,即,它仅在前一个命令成功运行时执行序列中的下一个命令。

为了更好地理解这一点,请考虑这样一个场景:您希望运行两个相关命令,以便仅当第一个命令返回有效输出时才运行第二个命令。在这种情况下,您可以使用 AND 运算符(称为 &&)将命令绑定在一起,以获得所需的结果。

示例用例:在 Linux 中,AND 运算符最常见的用例之一是创建一个新目录并立即进入该目录。这样,您就不必分别运行这两个命令来执行操作。

在本指南中,假设您要创建一个名为“linuxmi”的新目录,并立即将当前工作目录更改为该目录。这是你可以做到的:

xiaoyuer@linuxmi:~/www.linuxmi.com$ mkdir linuxmi && cd linuxmi
xiaoyuer@linuxmi:~/www.linuxmi.com/linuxmi$

在这里,mkdir 命令将在当前工作目录中创建一个名为 linuxmi 的新目录。如果成功,它将允许执行 cd 命令。

组合多个运算符以满足您的执行标准

除了在命令中单独使用运算符外,还可以对多个运算符进行分组以满足执行条件。当您想要执行满足多个条件的命令时,这会派上用场。

例如,假设您希望仅在命令 A 失败时才执行两个命令(命令 B 和命令 C)。为此,您需要使用运算符,如下面的符号所示:

command A || command B && command C

示例用例:假设您要确定当前工作目录中是否存在文件夹(名为 linuxmi),如果不存在,则创建该文件夹。

在这种情况下,您可以一起使用 OR 和 AND 运算符来有效地执行整个操作,而不是运行单独的命令来查找目录并创建新目录。

就是这样子:

find . -name linuxmi1 || echo "目录未找到" && mkdir linuxmi

在此命令中,find 要求 shell 在当前工作目录中搜索名为 Document 的文件夹。如果该目录不存在,终端会将流传输到 echo 和 mkdir 命令,这些命令分别打印指定的字符串并创建新文件夹。

使用 shell 脚本一次运行多个命令

shell 脚本是一个程序,可让您一次自动执行一系列命令。它消除了在 Linux 终端中键入多个命令的需要,并节省了时间和精力。

只需创建一个脚本,其中包含频繁运行所需的所有命令,并将其转换为可执行文件。然后,在您需要执行这些命令时运行它,它将为您完成所有操作。

首先创建一个新文件,然后键入要立即执行的命令。使用适当的名称保存文件,并在末尾添加“.sh”扩展名。

现在,打开终端并导航到保存脚本的文件夹。运行以下命令以使文件可执行:

chmod +x linuxmi.sh

完成后,下次需要再次执行这些命令时,请转到终端中包含脚本文件的文件夹并像这样执行它:

./linuxmi.sh

您可以使用它的一个应用程序是系统更新。与其在每次要更新系统时在终端中手动键入和执行 sudo apt updatesudo apt upgrade 命令,不如创建一个脚本来自动为您运行命令。

只需使用以下命令创建一个脚本文件,然后按照上面演示的其余步骤操作:

#!/bin/bash
sudo apt update && sudo apt upgrade -y

在 Linux 中高效运行终端命令

如您所见,在命令中使用运算符可以简化大多数命令行操作。

如果您希望通过终端在计算机上执行不同的系统操作,了解如何使用这些运算符将非常有帮助,并帮助您有效地运行 Linux 命令。

同样,如果您刚刚开始(或者不太熟悉)Linux,那么学习不同的终端命令是掌握命令行界面的又一步。

原文链接;https://mp.weixin.qq.com/s/qCRHGwgSci7huShpAjEzYA

相关推荐

RHEL8和CentOS8怎么重启网络

本文主要讲解如何重启RHEL8或者CentOS8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL8或者CentOS8,重启启动网络时,会出现以下报错:...

Linux 内、外网双网卡路由配置

1.路由信息的影响Linux系统中如果有多张网卡的情况下,如果路由信息配置不正确,...

Linux——centos7修改网卡名

修改网卡名这个操作可能平时用不太上,可作为了解。修改网卡默认名从ens33改成eth01.首先修改网卡配置文件名(建议将原配置文件进行备份)...

CentOS7下修改网卡名称为ethX的操作方法

?Linux操作系统的网卡设备的传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的...

Linux 网卡名称enss33修改为eth0

一、CentOS修改/etc/sysconfig/grub文件(修改前先备份)为GRUB_CMDLINE_LINUX变量增加2个参数(net.ifnames=0biosdevname=0),修改完成...

CentOS下双网卡绑定,实现带宽飞速

方式一1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0IPADDR=191.3.60.1NETMASK=255.255.2...

linux 双网卡双网段设置路由转发

背景网络情况linux双网卡:网卡A(ens3)和网卡B(...

Linux-VMware设置网卡保持激活

Linux系统只有在激活网卡的状态下才能去连接网络,进行网络通讯。修改配置文件(永久激活网卡)...

VMware虚拟机三种网络模式

01.VMware虚拟机三种网络模式由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有v...

Rocky Linux 9/CentOS Stream 9修改网卡配置/自动修改主机名(实操)

推荐...

2023年最新版 linux克隆虚拟机 解决网卡uuid重复问题

问题描述1、克隆了虚拟机,两台虚拟机里面的ip以及网卡的uuid都是一样的2、ip好改,但是uuid如何改呢?解决问题1、每台主机应该保证网卡的UUID是唯一的,避免后面网络通信有问题...

Linux网卡的Vlan配置,你可能不了解的玩法

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。例如在一个办公环境中,办...

Centos7 网卡绑定

1、切换到指定目录#备份网卡数据cd/etc/sysconfig/network-scriptscpifcfg-enp5s0f0ifcfg-enp5s0f0.bak...

Linux搭建nginx+keepalived 高可用(主备+双主模式)

一:keepalived简介反向代理及负载均衡参考:...

Linux下Route 路由指令使用详解

linuxroute命令用于显示和操作IP路由表。要实现两个不同子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该...

取消回复欢迎 发表评论: