如果您使用Linux,您就知道命令行对于处理文件、安装软件和启动程序有多大的用处。但如果您同时运行多个命令,则效率会更高。
在命令行上组合两个或多个命令也称为“命令链”。我们将向您展示在命令行上组合命令的不同方法。
相关内容:Shell脚本初学者指南:基础知识
分号(;)运算符允许您连续执行多个命令,而不管前面的每个命令是否成功。例如,打开一个终端窗口(Ubuntu和Linux-Mint中的Ctrl+Alt+T)。然后,在一行中键入以下三个命令(用分号分隔),然后按Enter键。这将为您提供当前目录(ls)的列表,找出您当前所在的目录(pwd),并一次显示您的登录名(whoami)。
ls ; pwd ; whoami也不必在分号和命令之间加空格。您可以将这三个命令输入为ls;pwd;whoami。但是,空格使组合命令更具可读性,这在将组合命令放入shell脚本时尤其有用。
如果希望第二个命令仅在第一个命令成功时运行,请使用逻辑“与”运算符(即两个“与”)分隔命令。例如,我们希望创建一个名为MyFolder的目录,然后更改为该目录—前提是该目录已成功创建。因此,我们在命令行中键入以下内容并按Enter键。
mkdir MyFolder && cd MyFolder文件夹已成功创建,因此cd命令已执行,我们现在处于新文件夹中。
我们建议在大多数情况下使用逻辑AND运算符而不是分号运算符(;)。这样可以确保你不会做任何灾难性的事情。例如,如果您运行一个命令来更改一个目录,然后强制递归地删除该目录中的所有内容(cd/some\u directory;rm-Rf*),那么如果目录没有更改,您可能最终会毁了您的系统。我们并不建议您运行一个命令,一次无条件地删除目录中的所有文件。
有时,您可能只想在第一个命令不成功时执行第二个命令。为此,我们使用逻辑或运算符,或两个垂直条(| |)。例如,我们要检查MyFolder目录是否存在([-d~/MyFolder]),如果不存在则创建它(mkdir~/MyFolder)。因此,我们在提示符处键入以下命令并按Enter键。
[ -d ~/MyFolder ] || mkdir ~/MyFolder确保在第一个括号之后和第二个括号之前有一个空格,否则检查目录是否存在的第一个命令将不起作用。
在我们的示例中,MyFolder目录不存在,因此第二个命令创建目录。
也可以在命令行上组合多个操作符。例如,我们要首先检查文件是否存在([-f~/示例.txt] ). 如果是这样,我们会在屏幕上打印一条消息(echo“File exists”)。如果没有,则创建文件(触摸~/示例.txt). 因此,我们在命令提示下键入以下内容并按Enter键。
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt在我们的示例中,文件不存在,所以创建了它。
下面是用于组合命令的每个运算符的有用摘要:
所有这些组合命令的方法也可以在Linux和windows10上的shell脚本中使用。
相关:如何在windows10上创建和运行bashshell脚本
在Linux中使用命令行上的“cd”时,还可以自动更正拼写和打字错误,以避免在组合命令时产生严重后果。
... 今天我们将介绍如何在Windows、Mac和Linux上将命令的输出发送到bashshell中的文本文件。 ...
... 在您真正充分利用终端之前,您需要知道如何导航它。这就是为什么我们认为这些是最基本的Linux命令:如果你不能更改目录或者在一个你不记得如何使用的命令上获得帮助,那么再多的终端知识也帮不了你。 ...
要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...
...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...