Bash 会保留用户的操作历史,保存在~/.bash_history这个文件里面。
history命令能显示操作历史。最近的例子在最后面,所有的例子带有行号。
$ history通过定制操作历史的模块,可以显示每个操作的时间。
$ export HISTTIMEFORMAT='%F %T '
$ history
1 2013-06-09 10:40:12 cat /etc/issue
2 2013-06-09 10:40:12 clear上面代码中,%F相当于%Y - %m - %d,%T相当于 %H : %M : %S。
如果不希望保存本次操作的历史,可以设置环境变量HISTSIZE等于0。
export HISTSIZE=0如果HISTSIZE=0写入.bashrc文件,那么都不会保留该用户的操作历史。如果写入/etc/profile,整个系统都不会保留操作历史。
配合grep命令,可以搜索操作历史。
$ history | grep <所要搜索的命令>按下 Ctrl + r,可以搜索到符合条件的最近一个执行的命令。
知道了命令的行号以后,可以用感叹号 + 行号执行该命令。
$ !8上面的命令执行操作历史里面第8条命令。
感叹号 + 搜索字符串会执行最近一个符合条件的命令。比如,以前执行过netstat -np | grep 22,那么输入!net就会执行这条命令。
-c参数可以清除操作历史。
$ history -c