如何在 Linux 终端中输入更少并更快地工作

已发表: 2022-08-11
显示 bash 提示符的 Linux 笔记本电脑
fatmawati achmad zaenuri/Shutterstock.com

使用 Linux 意味着(迟早)使用命令行。 但是在终端窗口中键入命令可能会很慢且重复。 这些键盘提示将加速您的终端窗口体验。

命令行

Linux 是一个命令行操作系统。 您可以选择在其上放置桌面环境,例如 GNOME 或 KDE 桌面环境,但在其下方,自 1970 年代第一个 Unix 实现以来,文本界面仍然没有真正改变。

在终端窗口中,Linux 使用诸如 Bash 之类的 shell 来读取您的命令并自行对它们进行操作或将它们传递给适当的命令或应用程序。

Bash、Zsh 和其他 Linux Shell 之间有什么区别?
相关Bash、Zsh 和其他 Linux Shell 之间有什么区别?

新的 shell 已经发布,旧的 shell 几乎全部退役,一些长期存在的 shell 已经更新。 无论如何,没有改变的是用户需要输入命令。 用户必须在命令行中输入他们的指令,就像他们在半个世纪前所做的那样。

命令必须拼写正确,并且因为它们区分大小写,所以每个字母的大小写也必须正确。 命令还包含各种符号,如果它们涉及文件系统路径,它们可能会非常长。 命令越长,包含的异常符号越多,出错的风险就越大。

学习无数的 Linux 命令并利用命令行的力量已经足够困难了,而无需处理拼写错误和其他键盘事故。

我们将向您展示的提示、技巧和技术将使使用命令行变得更快、更有成效。

相关:命令行:为什么人们仍然为它们烦恼?

制表符完成

如果您提供足够的字母让 shell 匹配命令、文件名或目录名,点击“Tab”键将在命令行中为您插入匹配的命令、文件名或目录名。

在我们的测试计算机上的主目录中,我们键入:

 光盘文件

开始键入目录名称

然后我们点击“Tab”键。

目录名称自动完成

为我们添加了其余的“文档”。 您可以继续这样做以充实整个路径。

 cd 文件/专业版

开始键入子目录名称

我们知道我们的“Documents”目录中有一个名为“projects”的目录,因此输入“pro”并点击“Tab”也为我们完成了这项工作。

子目录名称自动完成

如果您不记得下一个目录的名称以什么开头,请按两次“Tab”,shell 将显示可能的目录列表。 然后,它会使用您输入的命令填充命令行,并等待更多输入。

输入你想要的目录的几个字母——足以将它与其他条目区分开来——然后点击“Tab”让shell将它添加到你的命令行中。

子目录列表

如果您没有输入足够的字符来唯一标识您想要的目录,您将看到与您目前输入的内容相匹配的目录列表。

 cd 文件/项目/帐篷- 

匹配子目录的子集

使用“选项卡”生成目录路径是提高生产力的一种简单方法。 Tab 补全也很聪明,它对不同的命令表现不同。 如果您使用ls而不是cd ,它知道它应该包括文件和目录。

 ls 文件/项目/ 

文件和目录列表

点击“Tab”两次包括可能匹配中的文件。

您也可以将“Tab”与命令名称一起使用。 假设您想使用systemctl命令启用守护程序。 输入“sudo sys”并点击“Tab”两次。

 须藤系统

“系统”的选项卡完成选项

您将看到所有以“sys”开头的命令。

将“temc”添加到您的命令中,然后再次点击“Tab”以完成“systemctl”。 现在输入“en”并点击“Tab”。

 sudo systemctl en 

通过 systemctl enable 使用 tab 补全

“启用”一词的其余部分将添加到您的命令行中。

systemctl 命令的“启用”自动完成

避免打字错误的最好方法是不打字。 使用“Tab”,让 shell 为你做这件事。

编辑键盘快捷键

尽管制表符补全有帮助,但您仍然会发现自己需要遍历您键入的命令并进行更改。

Bash(又名 Linux 和 macOS 终端)的最佳键盘快捷键
相关Bash(又名 Linux 和 macOS 终端)的最佳键盘快捷键

有一堆快捷键可以加快你的移动速度并在命令行上进行编辑。 将这些锁定到您的肌肉记忆中,您将永远不会再按住箭头键,等待光标来回跟踪。

  • Ctrl+A :移动到行首。 与Home相同。
  • Ctrl+E :移动到行尾。 与End相同。
  • Alt+F一次一个字地向前移动。 与Ctrl+右箭头相同。
  • Alt+B一次一个字地向后移动一行。 与Ctrl+向左箭头相同。
  • Ctrl+F一次一个字母地向前移动。 与右箭头相同。
  • Ctrl+B : 向后移动一行一个字母。 与左箭头相同。

这些快捷方式删除文本。

  • Ctrl+U :从光标位置删除到行首。
  • Ctrl+K :从光标位置删除到行尾。
  • Ctrl+W :删除左边的一个单词。 与Alt+Backspace相同。
  • Alt+D :删除右侧的一个单词。
  • Ctrl+/ :撤消。 是的,命令行有一个撤消选项。

快速的“Ctrl+U, Ctrl+K”将删除整行。

历史命令

为什么还要重新输入你已经输入过一次的东西呢? Bash 将您以前的命令存储在命令历史记录中,并允许您重播任何命令。

相关:如何在 Linux 上使用 history 命令

在命令行中,您可以使用向上箭头键和向下箭头键浏览命令列表。 按 Enter 将执行显示的命令。 您可以使用history命令查看完整的命令列表。

 历史

历史命令

命令已编号。

历史命令的输出

要重播任何命令,请使用感叹号“!” 紧随其后的是要重用的命令的编号。 不要在感叹号后面加上空格。

 !1102 

重播命令 1102

您可以使用命令本身的开头来代替命令的编号。 例如,如果您使用!gedit ,shell 将执行您使用的最后一个以“gedit”开头的命令。

 !gedit 

使用搜索线索重播命令,而不是数字

为了安全起见,您可能需要使用:p (打印)修饰符。 这将打印命令但不执行它。 同样,不要在命令中包含任何空格。

 !gedit:p 

打印命令而不是执行它

如果找到的命令是您想要运行的命令,您可以通过按向上箭头键将其放回命令行,然后按 Enter 来运行它。 当然,如果需要修改,您可以按向上箭头键,然后在按 Enter 之前编辑命令。

两个感叹号“ !! ” 代表最后一个命令。 如果您忘记在命令中使用sudo ,只需输入“sudo !!” 使用sudo重新运行最后一个命令。

须藤!!

使用 !!重复上一个命令

另一个有用的花絮是您可以使用 Alt+。 (句点)将上一个命令的最后一个单词附加到命令行。

交互式历史搜索

按 Ctrl+R 开始搜索。 然后键入您要查找的命令的几个字母,然后按 Ctrl+R。

 sudo apt 

使用 Ctrl+r 交互式搜索

如果显示匹配但不是您想要的命令,请再次按 Ctrl+R 跳转到下一个匹配。 继续按 Ctrl+R,直到看到所需的命令。

使用 Ctrl+r 重复搜索

按 Enter 将执行命令,按 Home、End、右箭头或左箭头将让您在运行命令之前对其进行编辑。

Ctrl+G 将退出搜索而不做任何事情。

其他有用的快捷方式

这些快捷方式也是必备的。

  • cd :带你到你的主目录。 与cd ~命令相同。
  • cd – :在您最近的两个目录之间来回跳转。
  • Ctrl+l” :清除终端窗口。 与 clear 命令相同,但不会阻塞您的历史记录。
  • Ctrl+d :关闭终端窗口。 与 exit 命令相同,但不会阻塞您的历史记录。
  • 超级键+箭头键:将终端窗口捕捉并调整到屏幕左侧和右侧,全尺寸,然后恢复到通常尺寸。

如何学习这些击键

列出听起来最有用的命令,并将它们写在一张纸上。 保持关闭,参考它,并使用这些击键。

一旦你把这些都搞定了,就开始一个新的候选名单。

相关:你应该知道的 37 个重要的 Linux 命令