bash/zsh 命令 history
文章目录
history 简介
linux 命令行工具 history 保存了过往使用过的命令, 最简单的用法, 就是在终端中输入 history.
|
|
上面这个清单显示的数量, 由$HISTSIZE 决定. 比如显示 500 条记录, 可以这样设置:
|
|
如果只想显示最后六条数据, 可以这样:
|
|
这种用法, 只在 bash 中有效, 现在还没有发现在 zsh 中如何配置. 不过, 可以结合 tail 命令一起使用, 达到同样效果.
|
|
搜索命令的历史记录
有很多办法搜索命令的历史记录, 结合 “grep” 是其中之一.
使用 “grep”
|
|
使用 Ctrl + R 快捷键
一个更方便的办法是使用组合键 “Ctrl + R”. 这个组合键会从最后的记录开始逆序显示所有的历史记录, 并随着继续输入关键字, 过滤显示的清单. 在找到目标之后, 简单回车, 就可以执行了. 这是它优于结合 “grep” 的地方.
使用 ! 命令
另外还有一个直接运行命令的方法, 就是在 ! 后输入记录号. 比如
|
|
可以通过 “!!” 或者 “!-1” 来重复运行上一条命令, 在忘记输入 “sudo” 时就非常有效.
还可以通过 “!” 加首字母的方法, 调出最近使用过的一条命令. 比如:
更正前一条命令:
可以通过 ^foo^bar 修改前一条命令, 并再次执行. 例如:
|
|
这个方法在输入错误和更改长命令的时候, 特别高效.
复用上一条命令的参数
通过 “!$” 和 “!*” 可以把上一条命令的所有参数, 传递到最新一条命令中, 比如:
|
|
第二句中的 “!$” 就代表前一条命令中最后的参数 “chdir.sh” 如果参数不止一个, 就用 “!*”
清除历史记录
有时出于某种考虑, 要清除掉历史记录的全部或一部分, 可以用 “-c” 或者 “-d”
|
|
这条命令清除所有的历史记录.
|
|
这条命令清除编号从 376 起, 到 380 止的记录.