1.history显示时间
history命令默认会显示曾经输入的命令和编号,但是显示出命令的时间会更加有帮助,会帮助你判断问题所在。至少可以很方便的知道了自己什么时间干了什么事:
export HISTTIMEFORMAT='%F %T'
这样执行history会显示每条命令执行的时间
2.执行历史命令
!数字 执行history中执行过的对应的命令
!ps 执行history中以ps开头的命令
3.更改history保存指令的数目
~/.bash_profile中的HISTSIZE字段限制history保存的指令数量
HISTSIZE=500
只保存500条最新的命令,如果指定为0则不保存历史命令。
history -c 清除历史命令,但是在.bash_history中还可以看到
4.指定保存历史命令的文件
默认执行过的history命令保存在.bash_history中,可以更改~/.bash_profile中的HISTORY字段保存历史命令的文件:
HISTFILE=/root/.command_filename
这样不同shell中的用户所执行的命令便被记录到不同的文件中,便于以后查找。
5.去除历史中的重复执行的命令
export HISTCONTROL=ignoredups #去除连续重复的命令
export HISTCONTROL=erasedups #去除整个历史中重复的命令
6.强制history忽略某条指定的命令
export HISTCONTROL=ignorespace
这样如果你想不让history记录你即将执行的命令,可以在此条命令之前加一个空格即可
export HISTIGNORE=“pwd:ls:ls -l:”
这样history不保存pwd,ls,和ls -l命令 #一定要准确写出要忽略的指令
7.调用上一条指令的参数
!!:$ 作用同 esc + . 调用上一条指令的最后一个参数
假设执行cp test test.bak后,接下来想进行的操作想调用test,则可以用 !^ 代替。即vi !^ 和vi test效果一样
# cp ~/longname.txt /long/path/filename.txt
# ls -l !cp:2 效果同 ls -l /long/path/filename.txt
如果是!cp:$则表示调用以cp开头的命令的最后一个参数(此处依然是/long/path/filename.txt)