掌握 Linux 中的命令行历史

如果您花费大量时间在 Linux 上工作,那么学习如何优化您对命令行选项的使用是有意义的——尤其是您花在输入命令上的时间。 大多数 Linux 用户都熟悉基本的 Linux 命令行历史。 避免输入命令的最简单方法是按向上箭头键直到找到命令,或者使用简单的 !! 最后执行的命令。 今天,我们将向您展示一些相对未知但有效的方法,您可以使用 Linux 历史来加快您的工作方式。

扩展谦虚!! 为你工作

假设您运行了一个需要 root 权限的命令,但您忘记执行 sudo. 而不是再次输入它,或者向上导航然后离开,这就是你可以做的

如果您想将上一个命令保存到新脚本中,您可以这样做,而无需输入

从历史记录中搜索并运行命令

有权访问最后一个运行命令的使用有限。 有时您可能想搜索历史记录以查找您输入的晦涩或非常大的命令。 一个简单的 ! 搜索让您访问它。 为了 example,你有一个大的命令,你要在早上运行,你不太记得你给的选项,但你仍然想再次运行它。 如果这是您当时的历史截图:

Linux历史2

那么如何再次运行该命令呢? 做就是了:

如何继承上一个命令的参数

有时您可能不想执行较早的命令,而只是保留参数。 您可以使用“!$” 运算符,如下所示。

Linux历史3

如果您之前的命令有多个参数,并且您只想访问第一个,您可以使用“!^

要访问参数编号 x,只需使用“![prev_command]:[argument_number]“。 这 example 下面更清楚地显示了它。

如果您有一些根本不想出现在历史记录中的命令怎么办——如果您只想删除重复项并拥有更清晰的历史记录。 您可以设置 HISTCONTROL 环境变量来处理此问题。 这是如何做到的。

防止命令出现在历史记录中

有时,您可能希望阻止简单的命令形式出现在历史记录中,例如“ls“ 或者 ”pwd“。 在这种情况下,您可以再次使用 HISTCONTROL 命令阻止它们出现在历史记录中,就像我们在上面所做的那样 example. 但是,隐藏命令以使其不出现在历史记录中通常不是一个好主意。

要隐藏命令,首先需要将 HISTCONTROL 设置为忽略空格,即忽略所有以空格开头的命令。 然后,当您键入命令时,请确保在键入之前添加一个额外的空格。 这将防止历史记录记住该命令。

以防万一出于某种奇怪的原因,您可能希望完全禁用您的 Linux 历史记录。 为此,您可以使用以下命令:

如果您现在搜索您的历史记录,它将是空白的。 请注意,HISTSIZE 命令也可用于更改历史记录的大小。 如果您想在历史记录中存储更多命令,请打开主目录中的 .bash_profile 文件并更改 HISTSIZE(使其更大或更小)。

图片来源: bash 命令行 linux shell 终端 , 命令行简介封面

订阅我们的新闻!

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

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