关于 history 命令的几个使用技巧


关于 history 命令的几个使用技巧

文章插图
 
在使用过一段时间 linux 终端之后 , 大家应该都会注意到 , 使用上下箭头按键 , 可以执行之前运行过的命令 , 这就是 history 所起到的作用 。
1 , 查看 bash 历史记录(history)我们在之前的文章中介绍过 history 的使用 , 大家感兴趣可以参考:
??在Linux中怎样使用history命令??
查看 bash 历史记录 , 最简单的方法就是在命令行中输入 history 命令:
 
history
  • 1.
 
这将显示你历史记录中的上百或上千条命令 , 这取决于 HISTSIZE 变量中设定的大小 。
 
关于 history 命令的几个使用技巧

文章插图
 
如果不想列出所有的历史记录 , 可以限制显示出的记录条数 。比如 , 想要只显示最近的 7 条历史命令 , 可在 history 命令后跟上一个数字 7 , 如下:
 
history 7
  • 1.
 
 
关于 history 命令的几个使用技巧

文章插图
 
2 , 运行 bash 历史记录中的命令在查看 history 记录后 , 可以使用一个感叹号 ! 来运行其中的某条历史命令 , 如下方式:
 
! <HISTORY NUMBER>
  • 1.
 
 
关于 history 命令的几个使用技巧

文章插图
 
使用两个感叹号 !! 可以返回历史记录中最后的一条命令 。比如:
 
sudo !!
  • 1.
 
 
关于 history 命令的几个使用技巧

文章插图
 
另外 , 也可以使用一个特定的字符串来运行 history 命令 , 这个“特定的字符串”就是 history 命令中 , 与其匹配的命令:
 
!text
  • 1.
 
比如 , 你曾经运行过 echo $HISTCONTROL , 然后想再次运行它 , 那么可以这样:
 
!echo
  • 1.
 
上述命令 , 会再次运行 history 中的最后一条 echo 命令:
 
关于 history 命令的几个使用技巧

文章插图
【关于 history 命令的几个使用技巧】 
这其实也相当于是在 history 命令中以 “字符串” 方式匹配搜索 。
如果你不确定在 history 中的具体命令 , 可以在其后添加 :p 来打印该命令 , 而不是运行 , 比如 !echo:p , !23:p 等 。
3 , 搜索 history 记录你可能会想到使用?? grep?? 搜索 history 记录 , 像下面这样:
 
history | grep text
  • 1.
 
搜索历史记录的一个更好且超级方便的方法是使用 ctrl + r 键 , 反向搜索并键入您要查找的字符串 。
可以通过反复按 ctrl + r 来循环选择 , 当找到要查找的命令时 , 按 ctrl + o 或只按 enter 键即可选择并运行该命令 。
例如 , 下面的示例搜索包含 “aud” 的命令:
 
关于 history 命令的几个使用技巧

文章插图
 
如果找不到想要的命令 , 可更改搜索的字符串 , 或者按 ctrl + g 退出搜索 。
4 , 重新使用历史记录中以前命令中的参数关于 history 的另外一个很有用的技巧是 , 可以在新命令中使用以前命令中的参数 。
我们可以像这样使用上一个命令的最后一个参数: