我想看看我的history
.我以为history | tail -n 5
会成功,但我注意到多行命令的行数与它的行数一样多。
$ echo "hello
how are you"
$ history | tail -2
how are you"
1051 history | tail -2
所以我的问题是:我是否必须解析命令的输出才能完成此任务?
答案1
我找到了!
历史 [n]
n 参数仅列出最后 n 行。
$ echo "hello
how are you"
$ history 2
1060 echo "hello
how are you"
1061 history 2
答案2
您还可以使用负数,例如:
history -1
或者使用一个范围(最后 10 个):
history -1 -11
答案3
当您应用历史记录时,它也会显示最后的历史命令。为了防止空间浪费,这样的别名可能会很方便:
alias hs=' history 16 | head -n 15'
(命令本身history 16 | head -n 15
)
另一个有用的历史别名:
alias hsg=' history | grep '
(当ctr+R太小时无法选择时)
_history前面的空格将运行历史中未写入的命令
fc -l # 还将列出最后 16 个命令(以及更多)
答案4
在 OpenBSD 6.3 (PD KSH v5.2.14 99/07/13.2) 中测试。
history [b]
显示从带有数字 [b] 的条目开始的所有历史记录
history [b] [e]
显示从[b]到[e]的历史区间