我最喜欢的更快导航 Linux 终端的技巧

使用这些技巧,让您的一天不再忙碌,并加快您在 Linux 命令行上的工作速度。
16 位读者喜欢这个。

在终端中工作的一个优点是它比大多数其他界面更快。 感谢 GNU Readline 库以及 shell(如 BashZsh)的内置语法,有几种方法可以使您与命令行的交互更快。 以下是充分利用您在终端中的时间的五种方法。

1. 无需箭头键即可导航

在命令行上执行命令时,有时您会错过开头的部分,或者忘记在末尾添加某些标签或参数。 用户通常使用键盘上的*左*和*右箭头*键来在命令中移动以进行编辑。

有一种更好的方法可以绕过命令行。 您可以使用 CTRL+A 将光标移动到行的开头。 类似地,使用 CTRL+E 将光标移动到行的末尾。 Alt+F 向前移动一个单词,而 Alt+B 向后移动一个单词。

快捷键

  • 不要使用*左箭头,左,左,左*,而应使用 CTRL+A 转到行的开头,或使用 Alt+B 向后移动一个单词。
  • 不要使用*右箭头,右,右,右*,而应使用 CTRL+E 移动到行的末尾,或使用 Alt+F 向前移动一个单词。

2. 不要使用退格键或删除键

拼写错误的命令并不少见。 您可能习惯于使用键盘上的*退格*键向后删除字符,以及使用*删除*按钮向前删除字符。 您还可以使用一些有用的键盘快捷键更有效、更轻松地完成此任务。

您可以删除从当前光标位置到行首或行尾的所有内容,而不是逐个字符地删除命令。

使用 CTRL+U 删除从当前光标位置到行首的所有内容。 类似地,CTRL+K 删除从当前光标位置到行尾的所有内容。

快捷键

  • 不要使用*退格键*,而应使用 CTRL+U
  • 不要使用*删除键*,而应使用 CTRL+K

3. 在一行中执行多个命令

有时,一次执行多个命令很方便,这样您就可以在离开计算机或将注意力转移到其他事情上时运行一系列命令。

例如,我喜欢为开源做贡献,这意味着使用 Git 存储库。 我发现自己经常运行以下三个命令

$ git add
$ git commit -m "message"
$ git push origin main

我没有在三行不同的行中运行这些命令,而是使用分号 (;) 将它们连接到一行,然后按顺序执行它们。

快捷键

  • 不要使用
    $ git add .
    $ git commit -m "message"
    $ git push origin main

    使用

    $ git add .;git commit -m "message";git push origin main
  • 使用 ; 符号连接并在单行中执行任意数量的命令。 要在一个命令失败时停止命令序列,请改用 &&
    $ git add . && git commit -m "message" && git push origin main

4. 为常用命令创建别名

您可能经常运行一些命令。 有时,这些可能是冗长的命令或具有相同参数的不同命令的组合。

为了避免重新键入这些类型的命令,我为我最常用的命令创建了一个别名。 例如,我经常为存储在 Git 存储库中的项目做出贡献。 由于我每天多次使用 git push origin main 命令,因此我为其创建了一个别名。

要创建别名,请在你最喜欢的编辑器中打开你的 .bashrc 文件并添加一个别名

alias gpom= "git push origin main"

尝试为你定期运行的任何内容创建一个别名。

注意:.bashrc 文件适用于使用 Bash shell 的用户。 如果您的系统运行不同的 shell,您可能需要调整您使用的配置文件以及别名命令的语法。 您可以使用 echo $SHELL 命令检查系统中默认 shell 的名称。

创建别名后,重新加载你的配置

$ . ~/.bashrc

然后尝试你的新命令

$ gpom

快捷方式

不要键入原始命令,例如

$ git push origin main

使用 .bashrc 或你的 shell 配置文件中的 alias 声明创建一个别名。

5. 无需箭头键即可搜索和运行之前的命令

大多数终端用户倾向于重复使用之前执行的命令。 您可能已经学会使用键盘上的*向上箭头*按钮来导航您的 shell 历史记录。 但是,当您要重复使用的命令在过去的多行时,您必须反复按*向上箭头*,直到找到您要查找的命令。

通常情况是这样的:*向上箭头,上,上,上。 哦,我找到了!* Enter

有一种更简单的方法:您可以使用 history 命令一次搜索历史记录中的一步。

当您使用 history 命令时,命令列表会显示在每个命令旁边都有一个数字。 这些数字称为命令的 history-number。 您可以在终端上键入 !{history-number} 来运行相应编号的命令。

快捷键

  • 不要使用*向上箭头,上,上,上,Enter*,键入 history,然后查找要运行的命令的 history-number
    $ !{history-number}
  • 您还可以通过不同的方式执行此任务:不要使用*向上箭头,上,上,上,Enter*,使用 CTRL+R 并键入要重复的命令的前几个字母。

命令行快捷方式

快捷键提供了一种更简单、更快捷的方法来导航和执行 shell 中的命令。 了解一些小技巧可以让你的一天不那么忙碌,并加快你在命令行上的工作速度。


本文最初出现在 Red Hat Enable Sysadmin 上,并已获得作者的许可后重新发布。

Anamika-Opensource.com
Anamika 是来自印度的崭露头角的开发人员。 她是一位开源爱好者和计算机科学本科生,喜欢学习新的技术创新。 您可以与她谈论任何事情,无论是 Python、她最喜欢的编程语言、Linux(毫无疑问),还是当然是开源。

8 条评论

¡Hello! 请注意第 1 点:CTRL+B 和 CTRL+F 移动光标一个字母,而不是一个单词。

不确定文章自您的评论以来是否已编辑,但它实际上说明了 ALT-F 和 ALT-B,而不是 CTRL 键。

回复 作者 Jimmy_Olano

这个按键组合怎么样?

嗨 Jimmy。 文章中没有提到 CTRL+B 和 CTRL+F。

一篇写得好、有趣且易于理解的文章。

为了澄清,正如文章正确指出的

  • Ctrl+A:移动到行的开头
  • Ctrl+E:移动到行的末尾
  • Alt+F:向前移动一个单词
  • Alt+B:向后移动一个单词

此外

  • Ctrl+F:向前移动一个字符
  • Ctrl+B:向后移动一个字符

这些快捷方式由 GNU Readline 提供,并为 shell 添加了类似 Emacs 的导航。

您可以使用此命令阅读更多相关信息

info readline --node "Readline bare essentials"
 

我从来不知道 Ctrl-R 是做什么的,我总是偶然碰到它! 谁知道它有用呢?

一个简短的脚本也可以节省击键次数。 在任务战士中,为了将任务标记为完成,正常的指令是“task 35 done”,其中 35 是任务的 ID。 我写了一个简短的脚本。 现在,我输入“tld 35”。

Creative Commons License本作品采用知识共享署名 - 相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.