1、环境变量添加HISTCONTROL = ignorespace
在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中。但是这种方法有个前提,只有在你的环境变量 HISTCONTROL 设置为 "ignorespace" 或者 "ignoreboth" 才会起作用。
[rusky@rhel7 ~]$ vi .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin HISTCONTROL = ignorespace export PATH
2、执行这个命令:export HISTCONTROL=ignorespace
[rusky@rhel7 home]$ export HISTCONTROL=ignorespace
后面输入的命令,如果前面有空格都不会被记录。
3、禁用当前会话的所有历史记录
如果你想禁用某个会话所有历史,你可以在开始命令行工作前简单地清除环境变量 HISTSIZE
的值即可。执行下面的命令来清除其值
export HISTSIZE=0
HISTSIZE
表示对于 bash 会话其历史列表中可以保存命令的个数(行数)。默认情况,它设置了一个非零值,例如在我的电脑上,它的值为 1000。
所以上面所提到的命令将其值设置为 0,结果就是直到你关闭终端,没有东西会存储在历史记录中。记住同样你也不能通过按向上的箭头按键或运行 history 命令来看到之前执行的命令。
4. 工作结束后清除所有历史
history -cw
有时候你可能想保存直到你开始命令行工作之间的历史记录。对于这样的需求,你开始在工作前执行下述命令:
[space]set +o history
备注:[space]
表示空格。并且由于空格的缘故,该命令本身也不会被记录。
上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。
要重新开启历史功能,执行下面的命令:
[Space]set -o history
它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会出现在历史中。
5、从历史记录删除指定记录
现在假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。直接动手删除它们。通过下面的命令来删除:
history | grep "part of command you want to remove"
上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。
一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项:
history -d [num]
FROM:http://mp.weixin.qq.com/s?__biz=MjM5NjQ4MjYwMQ==&mid=2664607748&idx=2&sn=45351d08acaec566f9662de562826c7b&scene=0#wechat_redirect
=======
清空root的home目录下的的.bash_history文件。退出重新登录后,再次执行history时就没看不到历史记录了。
echo >~/.bash_history
===
history -c #清空当前缓存中的命令。