在/etc/bashrc配置history的变量:
#vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d:"
#source /etc/bashrc
#history
1006 2021-05-19:vim /etc/bashrc
1007 2021-05-19:history
1008 2021-05-19:source /etc/bashrc
1009 2021-05-19:history
或者:
#vim /etc/bashrc
export HISTTIMEFORMAT="%F %T:"
#source /etc/bashrc
#history
1009 2021-05-19 22:35:24:history
1010 2021-05-19 22:36:40:vim /etc/bashrc
1011 2021-05-19 22:37:02:source /etc/bashrc
1012 2021-05-19 22:37:07:history
或者:
#vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami`"
#source /etc/bashrc
#history
1012 2021-05-19 22:37:07 root:history
1013 2021-05-19 22:37:41 root:vim /etc/bashrc
1014 2021-05-19 22:38:06 root:source /etc/bashrc
1015 2021-05-19 22:38:08 root:history
或者:
#vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `who am i | awk '{print $1,$5}'`"
#source /etc/bashrc
#history
1021 2021-05-19 22:42:59 root (171.43.176.3):history
1022 2021-05-19 22:43:03 root (171.43.176.3):source /etc/bashrc
1023 2021-05-19 22:43:06 root (171.43.176.3):vim /etc/bashrc
1024 2021-05-19 22:43:19 root (171.43.176.3):source /etc/bashrc
1025 2021-05-19 22:43:21 root (171.43.176.3):history
history设置历史命令记录数
#vim /etc/bashrc # 保存1000条记录
export HISTSIZE=1000
#source /etc/bashrc
指定不同终端执行的命令都存储在同一个文件中
#vim /etc/bashrc
export HISTFILE=/var/log/.cmd_log
#source /etc/bashrc
忽略重复命令
#vim /etc/bashrc
export HISTCONTROL=ignoredups
#source /etc/bashrc
多个终端同时操作时,避免命令覆盖,采用追加方式
#shopt -s histappend
实时写入
实际上history的历史命令是写入.bash_history 中的。 ~/.bash_history 记录的是前一次登陆所运行过的命令,而本次登陆所运行的命令都被缓存在内存中,当退出系统后,本次的命令记忆才会记录到 .bash_history 中。
#PROMPT_COMMAND='history -a'
完全清除命令执行操作的历史记录
清理历史记录(只是清理了表层,可在.bash_history找到回)
清理记录历史的记录文件内容
#echo " " > .bash_history
关于history的小技巧
- !number 执行第几条命令
- !command 从最近的命令查到以command开头的命令执行
- !! 执行上一条