history命令能显示操作历史,即.bash_history文件的内容。

$ history

使用该命令,而不是直接读取.bash_history文件的好处是,它会在所有的操作前加上行号,最近的操作在最后面,行号最大。

通过定制环境变量HISTTIMEFORMAT,可以显示每个操作的时间。

$ 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

只要设置HISTTIMEFORMAT这个环境变量,就会在.bash_history文件保存命令的执行时间戳。如果不设置,就不会保存时间戳。

环境变量HISTSIZE设置保存历史操作的数量。

$ export HISTSIZE=10000

上面命令设置保存过去10000条操作历史。

如果不希望保存本次操作的历史,可以设置HISTSIZE等于0。

export HISTSIZE=0

如果HISTSIZE=0写入用户主目录的~/.bashrc文件,那么就不会保留该用户的操作历史。如果写入/etc/profile,整个系统都不会保留操作历史。

环境变量HISTIGNORE可以设置哪些命令不写入操作历史。

export HISTIGNORE='pwd:ls:exit'

上面示例设置,pwdlsexit这三个命令不写入操作历史。

如果想搜索某个以前执行的命令,可以配合grep命令搜索操作历史。

$ history | grep /usr/bin

上面命令返回.bash_history文件里面,那些包含/usr/bin的命令。

操作历史的每一条记录都有编号。知道了命令的编号以后,可以用感叹号 + 编号执行该命令。如果想要执行.bash_history里面的第8条命令,可以像下面这样操作。

$ !8

history命令的-c参数可以清除操作历史。

$ history -c

来自:

Bash 行操作 - Bash 脚本教程 - 网道 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐