history命令可以快速的查找已使用的命令,更妙的是可以通过日期和时间戳去查找相应时间段使用过的命令。

  1. 列出所有执行过的命令
$ history

列出如下命令:

 1001  ps -e|grep w3m
 1002  echo $JAVA_HOME
 1003  cd Downloads/
  1. 列出所有执行过命令的日期和时间戳
$ export HISTTIMEFORMAT='%F %T  '
$ history

export的那个变量将打印出日期和时间戳

 1022  2015-11-02 10:11:00  rm .fuse_hidden000*
 1023  2015-11-02 10:11:00  rm .fuse_hidden000000*
 1024  2015-11-02 10:11:00  rm .fuse_hidden0000006f00000005 
 1025  2015-11-02 10:11:00  rm .fuse_hidden0000006f00000007 
  1. 过滤历史消息
$ export HISTIGNORE='ls -l:pwd:date:'
$ history
  1. 忽略重复命令
$ export HISTCONTROL=ignoredups
$ history
  1. 取消export设置
$ unset export HISTCONTROL
$ unset export HISTTIMEFORMAT
  1. 永久设置export变量

可以在~/.bashrc或者~/.bash_profile中设置这几个参数

  1. 特定用户的history保存在什么地方

保存在~/.bash_history文件下

  1. 禁止history保留历史

公司安全考虑禁止history记录可以在~/.bashrc或者~/.bash_profile中设置变量HISTSIZE=0

而如果只是想在一个会话里禁止记录历史,可以在终端里export HISTSIZE=0

  1. 删除或者清楚history记录
$ history -c
  1. 搜索历史记录
$ history | grep cmd
  1. 搜索最后执行的相关命令

按下Ctrl + r,输入简单搜索字符,终端会搜索出相匹配的最近执行的命令,按enter键执行搜出的命令,esc键返回。

(reverse-i-search)`pa': mvn package
  1. 重调最后执行的相关命令

history列出历史记录及其序号,然后!n,就可以执行第n号命令

$ !1200

将执行第1200号命令

http://www.tecmint.com/history-command-examples/