如何查看和管理 Linux 命令历史记录

对于 Linux 终端来说,命令的威力是无与伦比的。但有时您需要多次键入冗长的命令才能完成任务。重新输入此类命令是不可行的,并且可能是一个艰苦的过程。因此,在本文中,我们将演示如何查看和管理Linux命令历史记录。

如何在 Linux 中查看命令历史记录

在Linux中,我们使用history命令来查看之前执行过的所有命令的列表。它有一个非常简单的语法:

history <options>

与历史命令配对的一些选项是:

选项描述
-C清除当前会话的命令历史记录
-w将命令历史记录写入文件
-r从历史文件中重新加载命令历史记录
-n <最大条目数>限制最近命令的输出数量

只需运行history命令即可查看Linux终端中所有先前执行过的命令的列表:

使用history命令查看Linux命令历史记录

除了查看命令历史记录之外,您还可以管理命令历史记录并执行修改以前执行的命令、反向搜索命令历史记录甚至完全删除历史记录等操作。

如何修改之前执行的 Linux 命令

如前所述,您执行的每个命令都会存储在命令历史记录中。要修改或重用之前执行的命令,您可以使用以下任一步骤:-

使用命令历史扩展

感叹号“!” 与“事件指示符”配合使用时可以扩展 bash 历史记录。您可以使用的一些事件指示符是 –

  • !! – 将最后执行的命令插入 shell 提示符中。
  • !<n> – 将执行的第 n 个命令插入到 shell 提示符中。
  • !<command> – 指最近执行的<command>。
  • !?<string> – 指包含 <string> 的最新命令。
历史-1-1
历史-5-1
历史-_usr-1

有时,滚动浏览数千个命令的整个列表来搜索特定命令是不可行的。为此,您可以使用“CTRL + r”进行反向命令搜索。它将打开一个新提示。在这里输入你要搜索的命令,就会显示之前执行过的完整命令。按键盘上的 Enter 键来执行命令。

反向命令搜索

如何在 Linux 中清除命令历史记录

要清除整个命令历史记录,请在 History 命令中使用 -c 标志。

history -c
清除整个 Linux 命令历史记录

如何在 Linux 中修改命令历史记录约束

基于一些限制,bash 命令历史记录会在 Linux 中相应保存。所有此类约束都存储为系统环境变量,并且可以像修改用户定义的环境变量一样进行修改。

限制存储的命令数量

要限制历史记录中存储的命令数量,请使用以下语法设置 HISTSIZE 环境变量 –

export HISTSIZE=<max_commands_to_store>

例如,仅存储最近的 1000 个命令 –

export HISTSIZE=1000
限制 Linux 命令历史记录大小以仅查看 1000 条记录

忽略特定命令

要排除在命令历史记录中保存的特定命令,请使用具有以下语法的 HISTIGNORE 环境变量 –

export HISTIGNORE=<command1:command2:command3>

这里,命令“command1”、“command2”和“command3”被设置为从bash命令历史记录中排除。例如,要排除命令 ls、cd 和 exit –

export HISTIGNORE='ls:cd:exit'
从命令历史记录中排除 ls、cd 和 exit 命令

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注