Linux history -d 的命令使用详解

5 min read

history -d是一个用于删除Bash历史记录中特定命令的命令。它的语法如下:

history -d offset

offset是要删除的命令的行号。

以下是使用history -d命令的详细说明:

  1. 首先,可以使用history命令查看Bash历史记录中的所有命令及其行号。

    $ history
    

    这将显示出类似如下的输出:

    1  ls
    2  cd /home
    3  mkdir test
    ...
    
  2. 确定要删除的命令的行号,然后使用history -d命令删除它。例如,如果要删除行号为3的命令,则使用以下命令:

    $ history -d 3
    

    这将从Bash历史记录中删除第3行的命令。

  3. 您还可以通过在命令的前缀上使用!来删除特定命令的行。例如,要删除以ls命令开头的最近的命令行,可以使用以下命令:

    $ history -d !ls
    

    这将删除最后一个以ls开头的命令行。

需要注意的是,history -d命令仅从当前Bash会话的历史记录中删除命令,并不会修改历史记录文件.bash_history中的内容。如果您在下一次Bash会话中再次打开历史记录,则已删除的命令将重新出现。

如果要永久删除命令,可以手动编辑历史记录文件或使用其他工具,如sedgrep等。