1、bash中默认命令记忆可达1000个。这些命令保存在主文件夹内的.bash_history中。
2、~/.bash_history:记录的是前一次登录以前所执行过的命令。至于本次登录的命令暂时存储在内存中,注销成功后会写入文件中。
可以看到最近执行的命令可以使用history打印出来,但是并没有保存在.bash_history中。
3、history 用法
history [#] : 列出最近的#条命令,不带#时,为列出全部。
-c: 将目前shell中的所有history命令消除。对命令历史文件没有影响
-w :将本次登录的命令写入命令历史文件中, 默认写入~/.bash_history。
-r : 将命令历史文件中的内容读入到目前shell的history记忆中。
4、使用! 执行历史命令。
! number 执行第几条命令
! command 从最近的命令查到以command开头的命令执行
!! 执行上一条
5、定制history功能
语法格式:NAME='VALUE'
HISTSIZE:history记录的行数
HISTFILE:history记录文件目录
HISTFILESIZE:history记录文件目录行数
使用命令修改的变量,只对本次shell有效注销后无效。要想长期有效可以吧变量写入/etc/profile或/etc/profile.d下的文件中
6、如何让history记录命令执行的时间呢?
编辑/etc/profile或在/etc/profile.d下新建*.sh文件。
vim /etc/profile.d/shit.sh输入下面两行
HISTTIMEFORMAT="%Y%m%d-%H%M%S " 或者HISTTIMEFORMAT="%Y%m%d %T "或者HISTTIMEFORMAT="%F %T "
export HISTTIMEFORMAT