我在 Mac OSX 中工作,所以我想我正在使用 bash...?
有时我会输入一些我不想被历史铭记的东西。我该如何删除它?
答案1
预防措施
如果您想运行命令而不将其保存在历史记录中,请在其前面添加一个额外的空格
prompt$ echo saved
prompt$ echo not saved \
> # ^ extra space
为此,您需要ignorespace
或ignoreboth
中的一个HISTCONTROL
。例如,运行
HISTCONTROL=ignorespace
要使此设置持久,请将其放入您的.bashrc
.
尸检后清理
如果您已经运行过该命令,并且想要将其从历史记录中删除,请首先使用
history
显示历史命令列表。找到您要删除的号码旁边的号码(例如 1234)并运行
history -d 1234
此外,如果要删除的行已写入 $HISTFILE(默认情况下结束会话时通常会发生这种情况),则需要写回 $HISTFILE,否则当您打开新的会话时该行将重新出现会议:
history -w
答案2
要清除所有历史记录,请使用
history -c
要删除单行,请使用
history -d linenumber
答案3
Mac 上的 Zsh
如果您使用 Zsh,则history -d linenumber
无法删除命令行历史记录中的特定行号。但是您可以编辑历史文件。关闭并重新打开终端并编辑历史记录,如下所示:
nano ~/.zsh_history
看这更多细节。
答案4
您始终可以编辑和删除条目~/.bash_history
,当您想要删除一个或多个条目时非常有用