history 命令常用参数
history 命令被用于列出以前输入的命令和Bash 日志。
1
2
3
4
5
6
7
8
9
10
11
12
|
-c 删除所有的记录
-d 删除指定的行,如: history -d 1008
-a 增补当前会话中的历史记录到~/.bash_history
-n i do not know
-r 读取历史文件中的内容并加载到历史列表里
-w 写入当前历史到文件并加载到历史列表里
-p 命令历史不记录到历史,有点像echo,history -p $HISTSIZE可打印出变量
-s 不执行命令,但是加入到历史记录里,相当于伪造历史
$HISTFILESIZE 历史文件保存的最大历史文件
$HISTFILE 用户登出时,命令持久保存的历史文件~/.bash_history
$HISTSIZE shell进程可保留的历史条数
|
history技巧
1
2
3
4
5
6
7
8
|
ESC. :返回上一条输入的参数,对于长的参数很方便。如 ls /usr/share/nginx,cd 按ESC.,效果就是 cd /usr/share/nginx
!# :执行第多少行的命令,如!1008
!STRING :执行最近一条以STRING开头的命令,如果!df
!! :执行上一条命令
!?abc :重复执行之前包含abc的命令
!-n :执行命令历史列表中的倒数第n条命令,!-1代表上一条命令
!$ :引用上一个命令的最后一个参数
$_ :引用前一个命令的最后一个参数
|
注:!$
$_
一个是前一个命令一个是上一个命令
例如:
1
|
mkdir -p testdir && cp -r /opt "$_"
|
注: 历史扩展只能用在交互shell,不能用在shell脚本中