Linux高级玩家:在一行命令中同时执行多条命令,惊呆女同事!

举报
wljslmz 发表于 2022/12/28 13:12:44 2022/12/28
【摘要】 在 Linux 中,同时在终端上输入多条命令的情况很常见,比如你想新建一个目录后立即进入此目录,常规操作肯定是先mkdir dir_name,然后再cd dir_name,这个并不是一个高级Linux玩家想要执行的步骤,作为高级玩家肯定是想一条命令解决,那么本文就会介绍几个骚操作,帮助你实现这样的效果。让我们直接开始!注意:本文基于的Linux发行版是CentoS。 1. 使用&&命令在 L...

在 Linux 中,同时在终端上输入多条命令的情况很常见,比如你想新建一个目录后立即进入此目录,常规操作肯定是先mkdir dir_name,然后再cd dir_name,这个并不是一个高级Linux玩家想要执行的步骤,作为高级玩家肯定是想一条命令解决,那么本文就会介绍几个骚操作,帮助你实现这样的效果。

让我们直接开始!

注意:本文基于的Linux发行版是CentoS。

1. 使用&&命令

在 Linux 上使用 & 符号执行组合命令并不是什么新鲜事,您可以使用以下格式在 Linux 上组合两个或多个类似类型的命令来执行,以下命令将更新系统存储库,然后升级存储库。

yum update && sudo apt upgrade

执行以下命令新建目录,进入目录,然后再打印所在路径:

mkdir wljslmz && cd wljslmz && pwd

2.使用|| 命令

如果您是一位经验丰富的 Linux 用户,那你肯定用过竖线 (|) 符号来传递命令的输出,但是双管道 (||) 符号你用过吗?

||在Linux命令中相当于是 OR 条件,如果先前的命令失败或为假,则逻辑 OR 运算符将决定要做什么。

例如,我们可以在创建新文件夹的命令中设置逻辑或操作,浏览该文件夹并打印目录详细信息,如果 mkdir 命令失败,则命令的下一部分也会失败。

mkdir new_dir1 || cd new_dir1 || pwd

3.组合使用&&和|| 命令

在前面的方法中,我们刚刚看到在终端命令中使用双管道 (||) 和双管道 (&&) 语法,我们可以对它们进行组合使用。例如,以下命令将创建一个名为的新目录wljslmz-sub2,并使用 Echo 命令打印“wljslmz is great”。

$ cd wljslmz-sub2 || mkdir wljslmz-sub2 && echo "wljslmz is great"

如图所示,cd wljslmz-sub2执行的时候显示“No such file or directory”,然后紧接着就创建了该目录。

4.使用;命令

在不同的编程语言中,分号(;)符号用于结束程序中的一行,在 Linux bash 中,您可以使用分号 (;) 符号在同一个 shell 命令中添加多个命令来运行多个 Linux 命令。

以下命令将在文件系统中创建一个新文件和新目录,并将创建的新文件移动到该文件夹中:

touch wljslmz-file && mkdir wljslmz-sub3; mv wljslmz-file wljslmz-sub3/ && ls

5.组合运算符{}

组合运算符{}用于执行目录级命令,它可用于执行命令并打印输出状态,例如,创建一个目录,然后使用 Echo 命令来检查您的 Linux 机器上的目录状态。

$ [ -d wljslmz-sub4 ] || { mkdir wljslmz-sub4; echo wljslmz is great; } && ls

总结

本文介绍了五种Linux中一次执行多个命令的方法,每种方法都有相关的例子,大家可以进行参考!希望本文对您有所帮助,感谢阅读!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。