linux之history使用技巧

/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找到回)
> history
复制代码
  • 清理记录历史的记录文件内容
> echo " " > .bash_history 
复制代码

关于history的小技巧

  • !number 执行第几条命令
  • !command 从最近的命令查到以command开头的命令执行
  • !! 执行上一条

原文链接:rumenz.com/rumenbiji/l… 微信公众号:入门小站

猜你喜欢

转载自juejin.im/post/7016335111675183140