每个 Linux 用户都应该知道的 5 个简单的 Bash 历史技巧

无论你是 bash 初学者或专家,如果不使用超级有用的,您将无法继续在命令行中工作 bash 历史特征。

您可能已经知道,如果您在 Linux 终端中使用向上或向下箭头键,您可以查看之前运行的命令。

这得益于 bash 历史命令。

1. 查看您的 bash 历史

查看您之前键入的命令的最简单方法是使用命令历史记录。

history

它将显示存储在您的历史记录中的一百甚至一千条命令。 大小取决于 HISTSIZE 变量。

如果您不希望屏幕混乱,您可以限制它显示的行数。 为了 example,要仅显示历史记录中的最后 7 个命令,请像这样使用它:

history 7

2.运行命令 bash 历史

当您查看历史记录时,您可以通过使用其编号来运行命令 !, 像这样:

!#

您可以使用重新运行最后一个命令 !!. 当您忘记使用命令时,可以很好地使用它,然后像这样快速使用它来运行 sudo:

sudo !!

您也可以运行以特定文本开头的最后一个命令,如下所示:

!text

假设您之前运行了 echo $HISTCONTROL 并且您想再次运行它。 你可以像这样使用它:

!echo

上面的命令将运行你历史记录中最后一次运行的 echo 命令。

有一个更好的选择来搜索历史记录,我将在下一节中向您展示。

额外提示:如果您不确定该命令,请不要运行它,而是通过添加打印它 :p 到最后。 所以你像这样使用它 !echo:p, !23:p 等等

3.通过搜索 bash 历史

你可能认为这样更容易 使用 grep 命令 通过这样的历史搜索:

history | grep text

搜索历史的更好和超级方便的方法是使用 ctrl+r 键开始反向搜索并键入您要查找的字符串。

您可以按 ctrl+r 重复,当你找到你正在寻找的命令时,按 ctrl+o 或者干脆 enter 键选择并运行该命令。

为了 example, 这 example 下面搜索包含“aud”的命令。

如果您没有找到该命令,请更改您的搜索字符串或按 ctrl+g 从反向搜索中走出来。

4. 重用历史中先前命令的参数

这是您可以做的另一件很酷的事情 bash 历史。 您可以在新命令中使用来自先前命令的参数。

您可以像这样使用上一个命令的最后一个参数:

new_command !$

为了 example,假设您正在使用 less 命令读取文件,并且您决定需要编辑此文件。 您无需完全输入,而是使用 !$ 捷径。

上面的选项只给你上一个命令的最后一个参数。 如果您想要所有参数,请使用以下命令:

new_command !*

5.清理你的冗余条目历史

有一个名为 HISTCONTROL 的环境变量可以帮助您处理中的冗余条目 bash 历史。 您可以为其分配三个值之一:

  • ignorespace:设置此变量后,您可以通过在命令前面放置一个空格来运行命令。 该命令照常运行,但不会包含在历史记录中。
  • ignoreups:如果连续运行了两个以上相同的命令,则仅将其中一个记录在历史记录中。
  • ignoreboth:设置上述两个功能。

您应该在 bashrc 文件中设置变量,以便每次使用时都设置它 bash 贝壳。

你的命令太多 bash 历史? 您可以使用选项清除 -c. 这将清除当前的历史 bash 并从现在开始重新添加命令。

history -c

还有很多事情要做 bash 历史比我在这里讨论的这五个技巧。 您可以随时参考 history 命令的手册页以获取更多信息。 您可能还想了解 历史内建,如果你感兴趣的话。

我希望你觉得这篇文章有帮助。 如果你有最爱 bash 历史功能,请在评论中分享。