预防措施

预防措施

我在 Mac OSX 中工作,所以我想我正在使用 bash...?

有时我会输入一些我不想被历史铭记的东西。我该如何删除它?

答案1

预防措施

如果您想运行命令而不将其保存在历史记录中,请在其前面添加一个额外的空格

prompt$ echo saved
prompt$  echo not saved \
> #     ^ extra space

为此,您需要ignorespaceignoreboth中的一个HISTCONTROL。例如,运行

HISTCONTROL=ignorespace

要使此设置持久,请将其放入您的.bashrc.

尸检后清理

如果您已经运行过该命令,并且想要将其从历史记录中删除,请首先使用

history

显示历史命令列表。找到您要删除的号码旁边的号码(例如 1234)并运行

history -d 1234

此外,如果要删除的行已写入 $HISTFILE(默认情况下结束会话时通常会发生这种情况),则需要写回 $HISTFILE,否则当您打开新的会话时该行将重新出现会议:

history -w

答案2

  1. 要清除所有历史记录,请使用

    history -c
    
  2. 要删除单行,请使用

    history -d linenumber
    

答案3

Mac 上的 Zsh

如果您使用 Zsh,则history -d linenumber无法删除命令行历史记录中的特定行号。但是您可以编辑历史文件。关闭并重新打开终端并编辑历史记录,如下所示:

nano ~/.zsh_history

更多细节。

答案4

您始终可以编辑和删除条目~/.bash_history,当您想要删除一个或多个条目时非常有用

相关内容