10 个 Linux 命令行操作符及其作用

命令链运算符是用于在命令行中编写微型 shell 脚本的特殊字符。 它们通常用于按特定顺序执行命令,由命令之间的运算符位置定义。 这在自动化任务中非常有用。

让我们了解一些 Linux 上的通用链运算符,它们可以帮助您更快地完成任务,并且用户间隔更短。

1. 与号运算符 (&)

通常,当您从 shell 打开程序或执行命令时,您必须等到命令终止或手动退出程序才能继续使用 shell。 这里是 & 号运算符 (&) 发挥作用的地方。

通过将 & 运算符附加到任何命令,您可以指示 shell 在后台执行该 Linux 命令,以便您可以继续使用不受限制的 shell。

gedit &

通常,如果您从终端运行 gedit,您将无法使用终端,除非您关闭文本编辑器。 但是,通过附加 & 运算符,您可以使其在后台运行并立即继续使用 shell。

2. 分号运算符 (;)

分号运算符是一个非常有用的 Linux 链接运算符,您可以使用它以定义的顺序执行命令。 对您的命令进行排序并用分号分隔它们。

密码; mkdir 测试; 光盘测试; 触摸文件

上面的语法指示 shell 一个接一个地执行每个命令。 请注意,shell 不会检查每个命令是否成功终止。 一旦 shell 收到返回码,它就会继续执行下一个命令。

3. OR 运算符 (||)

OR 运算符只有在前面的命令失败时才会执行后面的命令,即返回退出代码 0。它的功能类似于逻辑或门,当输入为 0 时返回值 1。

坏命令 || ls

在此示例语法中,bad_command 是一个将无法执行的错误命令,并且由于它失败,继 OR 运算符(即 ls 命令)之后的命令将成功执行。

4. 管道操作员 (|)

管道操作符将前面命令的输出作为后续命令的输入。 它最常用于使用 grep 命令过滤数据。

猫测试| grep -i “makeuseof”

此命令将 cat 命令的输出作为输入发送到 grep 命令,然后根据指定的字符串过滤输出。

5. AND 运算符 (&&)

此运算符的功能与分号运算符类似,但与分号运算符不同的是,AND 运算符只有在前面的命令成功执行时才会执行命令。

pwd && mkdir test && cd test && bad_command && ls

在此示例语法中,shell 将成功执行所有命令,直到 bad_command。 但是,由于 bad_command 无法运行,shell 将返回错误并跳过 ls 命令。

6. NOT 运算符 (!)

NOT 运算符的工作方式与编程中的 except 语句类似。 例如,如果您想对目录中的大量文件执行操作,但想根据某个参数排除一些文件,则可以通过在 NOT 字符 (!) 之后传递参数来使用 NOT 运算符。

rm -r !(*.txt)

此示例命令将递归删除目录中的所有文件,但扩展名为“.txt”的文件除外。

7. 优先运算符 ((..))

AND 和 OR 运算符后面的命令取决于前面命令的退出代码。 这些运算符是二进制的,只计算它们之前和之后的两个命令。

因此,在使用多个运算符时,设置组和优先级以确保执行顺序符合您的期望非常重要。

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || echo “优先测试”

在此示例语法中,两组命令都必须返回退出代码 0 以确保成功执行最后一个命令。 此示例要求第一个 set () 中的两个命令都以 0 退出,以便第二个 set () 运行。

8. 组合运算符 ({..})

顾名思义,组合运算符用于对命令进行分组。 无论您要分组哪个命令,都可以将它们放在大括号内,它们将根据第一个命令的退出代码执行。

测试 -f /etc/passwd && {pwd ; 日期} && 回声 $0 ; 回声“你好”

示例语法将测试 /etc/passwd 文件是否存在,打印当前工作目录、日期、shell 名称并回显“Hello”。

9. 连接或转义运算符 (\)

连接或转义运算符有两个功能。 在 shell 中处理字符串时,您可以使用它来连接两个命令或作为转义字符。

mkdir test0 test1 \ test2
echo “你好从
另一边”

第一个命令将创建四个名为 test0 到 test2 的目录,第二个命令将打印由新行分隔的字符串。

10. 重定向运算符(>、>>、<)

重定向运算符通过重写文件或附加到文件将输出或输入重定向到文件。 如果要重写文件,则必须使用单尖括号 (>) 语法。 如果要附加到文件,则必须使用双尖括号语法 (>>)。

回声“dsd”>测试; 回声“bsss”>>测试

在示例语法中,第一个命令将使用提供的字符串覆盖“test”文件,但在第二个命令中,提供的字符串将附加到测试文件中。

加快您的 Linux 终端工作流程

虽然使用特殊运算符将为您显着简化任务执行,但还有多种其他方法可以加快您的工作流程。

在更短的时间内完成更多工作的一种简单而有价值的方法是让自己熟悉一些方便的 shell 快捷方式。 习惯这些快捷方式会有很长的路要走,只要你使用 Linux,你就会发现自己依赖它们。

资讯来源:由0x资讯编译自MAKEUSEOF。版权归作者Debarshi Das所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢