终端中重新记住关键历史记录该怎么办?

终端中重新记住关键历史记录该怎么办?

我已经history -c在终端中使用了该命令,但它仅适用于打开的会话。如果我注销并返回命令窗口终端,历史记录仍然会被记住。我该如何阻止这种情况发生?

我想永久地手动删除终端中键入信息的历史记录,最好只是通过命令,或者进行实际的解释,而不是跳过技术演讲,因为我是一个经验不足的用户,并且很少使用脚本,并且很容易忘记。

答案1

如果您想手动删除键入的历史记录,在bashshell 上您可以删除.bash_history文件或编辑它以删除您想要删除的行。

要检查您使用的 shell,请输入echo $SHELL

答案2

如果您不想维护登录之间的历史记录,则bashzsh都有一个HISTFILE变量。

man bash

 HISTFILE
       The name of the file in which command history is saved (see HIS-
       TORY  below).   The default value is ~/.bash_history.  If unset,
       the command history is  not  saved  when  an  interactive  shell
       exits.

来自man zshall(即所有 zsh):

  HISTFILE
       The file to save the history in when an interactive shell exits.
       If unset, the history is not saved.

因此,如果删除历史文件:

rm "${HISTFILE}"

并将命令添加到 shell 的 rc 文件中以取消设置(例如,~/.bashrc, ~/.zshrc):

unset HISTFILE

那么您不应该在会话之间保留任何历史记录。

请注意,这样做的优点是历史记录永远不会被写入,因此,如果您碰巧在命令中包含敏感数据,则该数据不会保留在您的历史文件中,直到您想到将其删除为止。

相关内容