centos7 history命令没有任何记录

消除history历史记录

history -c

彻底删除历史记录:

history -c
echo > ~/.bash_history
以上两个命令必须都有执行才有效!

centos7 history命令没有任何记录消除 - 图1

通过设置HISTSIZE的值也无法使用history

"故障"机子

centos7 history命令没有任何记录消除 - 图2

平常机子

centos7 history命令没有任何记录消除 - 图3

后面发现是~/.bashrc设置的问题 原先配置如下。

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
# 调整处
#HISTSIZE=0
#HISTSIZE=0
centos7 history命令没有任何记录消除 - 图4

环境变量HISTCONTROL

这里使用HISTCONTROL=ignorespace 忽略所有以空格开头的命令

ignoredups默认,忽略重复命令
ignorespace忽略所有以空格开头的命令
ignorebothignoredups 和 ignorespace 的组合
erasedups删除历史记录中重复命令,相同的指令仅保留最近的一个

修改~/.bashrc如下

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
# 调整处
#HISTSIZE=0
# 历史记录1000行
HISTSIZE=1000
# 开头输入空格 将不计入历史记录
HISTCONTROL=ignorespace


centos7 history命令没有任何记录消除 - 图5
source ~/.bashrc

测试成功

centos7 history命令没有任何记录消除 - 图6