Answers:
稍微回旋的方式:
history -a ~/current_history
这会将当前会话的未保存的bash历史记录保存到~/current_history
,然后您可以查看。
~/$$_history
。
history -a
将它与以前的历史记录一起放入〜/ .bash_history ...会更方便,如果您的历史记录比截止时间长(在我的centos7和fedora 24系统上为1000),则可能会出现问题。
使用comp
与已经坚持历史比较的整个历史(包括当前bash命令。)在.bash_history
和只打印那些独特当前会话行-这应该只显示自开始当前Bash shell中已执行这些命令
comm -23 <( history | cut -c 8- ) ~/.bash_history
编辑:正如@Wildcard指出,此命令不适用于的所有发行版comm
。我在Mac OS上进行了测试。
相同想法的变体,使用diff
:
diff <( history | cut -c 8- ) ~/.bash_history | sed -n 's/^< //pg'
comm
假设输入已排序。 但是,欢迎来到Stack Exchange!:)
comm
在上面的示例中,输入的两面都是固有排序的。你跑了吗?它没有产生您当前的Bash会话历史记录吗?
~/.bash_history
是不排序; history
一旦删除前导行号,也不会对输出进行排序。(除此以外,comm
期望按字典顺序输入,而不是数字输入。)
comm
示例中命令的两个参数的顺序相同,而不是按字典顺序排序。FreeBSD的版本comm
不需要按字典顺序排序的输入
history
命令了吗?