在终端中更智能地工作的 Bash 提示和技巧

作为 Linux 用户,这是我们第一次打开终端并开始以最高效、最强大和最灵活的方式在系统上工作的特殊时刻。 但是,您第一次进入终端可能会令人生畏,因为您所看到的只是一个闪烁的光标和一个无限可能的世界。 为了帮助解决这个问题,我们向您展示了一些 Bash 提示和技巧,让您在终端中更聪明地工作,而不是更努力地工作。

使用 Apropos 查找命令

Apropos (app-row-POE) 是一个命令,允许您使用以下命令查找命令 man 或基于其描述的手动输入。 如果你曾经找到一个命令的手册页,它看起来有点像这样:

顶部的“NAME”部分就是我所说的。 如果我想找到 ping 命令与 apropos,我会输入 apropos icmp 进入我的终端并点击 Enter. 请注意,它不区分大小写。 这会调出每个带有“ICMP”的NAME 条目的命令。

Bash 提示和技巧

另一个很好的用途 apropos 正在探索您可能不熟悉的工具,例如 selinux. 发行 apropos selinux 命令将为您提供可用于与 SELinux 交互的所有不同命令的列表,让您开始高效执行。

替换上一个命令

在终端中为我节省了大量时间的东西是弄清楚如何替换上一个命令中的东西。 如果我拼写错误或只需要替换上一个命令中的选项,我可以使用 ^ 拉出我拼错的单词的关键,然后是另一个 ^ 输入我想要的单词或选项。

让我们看一个 example. 假设我想 ping “maketecheasier.com”以确保我有完整的 Internet 连接(包括 DNS)。 但是,如果我拼错了什么,我可能会得到某种错误。 因此,如果我不小心 ping maktecheaser.com(缺少“i”),我会遇到一些麻烦。

要替换拼写错误的选项,我可以输入 ^maktecheaser.com^maketecheasier.com,并且命令将按预期运行。 这是一个简单的 example,但是假设您运行了一个带有很多选项的长命令,或者误导了命令的输出或错误。 能够替代 > 为了 >> 在复杂的命令中是救命稻草。

Bash 提示和技巧 Ping 示例

其他 example 与 systemd 和 systemctl 命令。 我会经常发出多个不同的 systemctl 子命令,例如启动、停止、启用或禁用服务。 我可以用 ^start^enable,这将节省我的时间。

!!

这在我经常发生的一种特定情况下非常有用。 !! (bang-bang) 将完全下拉上一个命令。 它可能看起来没什么用,但是如果您考虑每次键入需要在超级用户权限下运行的命令,您就会开始了解它的用处。

一个了不起的 example 是安装脚本。 假设您使用“./SCRIPT-NAME.sh”运行安装脚本,它说您需要以超级用户权限运行它。 只需键入 sudo !!,输入您的密码,然后您就可以参加比赛了。 它节省了大量时间,一旦你在肌肉记忆中得到了这个序列,你就能比做错时更快地做到这一点。

Bash 提示和技巧 Bang Bang

从以前的命令中传递参数

使用 !$,我们可以将命令的最后一个参数传递给当前命令,并且通过一些细微的变化,我们可以将任何参数传递给我们的当前命令。

让我们看一些例子。 如果我正在编辑脚本,我可以使用命令 nano samplescript.sh. 完成该脚本后,我想让它可执行,因此我可以将八进制权限更改为 755。为此,我可以使用 chmod 755 !$ 命令。 然后,要再次提取脚本的名称,我可以使用 ./!:2 拉下第二个论点。

Bash 技巧和窍门

其他一些例子:

您可以替换您的数字来提取您想要的任何参数。 Bash 将保留 close 使用这种方法可以使用 100 个参数,您可以轻松快速地完成一些类似这样的琐碎任务。

我希望您喜欢这些 Bash 提示和技巧,以帮助您在终端中更智能地工作。 您还应该了解 Bash 变量和特殊字符。

订阅我们的新闻!

我们的最新教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅