如何清除Linux和Mac中的Bash历史记录

时间:2020-02-23 14:37:49  来源:igfitidea点击:

有时,我们使用敏感信息运行bash命令。
例如,运行一个shell脚本并传递密码作为命令行参数。
在这种情况下,出于安全原因,最好清除bash历史记录。

清除Linux中的Bash历史记录

当我们在bash shell中运行任何命令时,该命令将存储在用户主目录中的.bash_history文件中。
我们可以使用" history"命令来打印该文件中的所有命令。
有一些选项可从bash历史记录中删除整个历史记录或者任何特定命令。

1.删除Bash历史记录以删除所有命令

如果要彻底删除bash历史记录,可以运行" history -c"命令。

# history
...
737  history
738  vi .bash_history 
739  cd
740  history
# history -c
# history
  1  history
# 

清除Bash历史记录Linux

2.从Bash历史记录中删除特定命令

如果要从bash历史记录中删除特定条目,请使用" history -d offset"命令。
偏移量是来自" history"命令输出的行号。

[root@li1176-230 ~]# ls -1 | wc -l
3
[root@li1176-230 ~]# history
  1  history
  2  ls
  3  cd
  4  ls -1 | wc -l
  5  history
[root@li1176-230 ~]# history -d 4
[root@li1176-230 ~]# history
  1  history
  2  ls
  3  cd
  4  history
  5  history -d 4
  6  history
[root@li1176-230 ~]#

如何在Mac OS中清除Bash历史记录

如果使用的是纯bash shell,则可以使用-d或者-c选项删除bash历史记录。

bash-3.2$history
  1  history
  2  cd
  3  ls
  4  pwd
  5  history
bash-3.2$history -d 4
bash-3.2$history
  1  history
  2  cd
  3  ls
  4  history
  5  history -d 4
  6  history
bash-3.2$history -c
bash-3.2$history
  1  history
bash-3.2$

ZSH清除记录

ZSH最近很受欢迎。
它建立在bash shell之上,并提供了许多其他功能来帮助开发人员。
不幸的是,以上历史记录命令无法清除ZSH Shell历史记录。
这是因为ZSH历史记录保存在~/.zsh_history文件中。
如果要删除任何条目,请在VIM或者任何其他编辑器中打开该文件,然后从文件中手动删除该条目并保存。

注意:会话开始时会加载zsh历史记录,因此对.zsh_history文件的更改不会反映在当前的Shell会话中。
如果通过打开新的窗口或者选项卡启动新的shell,您将注意到更改。