gip*_*any 20 bash shell history
首先让我举一个例子.
在shell(1)中,我执行了以下命令.
$ ping google.com
PING google.com (74.125.235.164) 56(84) bytes of data.
64 bytes from nrt19s12-in-f4.1e100.net (74.125.235.164): icmp_seq=1 ttl=54 time=2.85 ms
64 bytes from nrt19s12-in-f4.1e100.net (74.125.235.164): icmp_seq=2 ttl=54 time=3.42 ms
然后,打开另一个shell(2)并查看历史记录.
$ history
 .
 .
 .
 8720  exit
 8721  clear
 8722  history
在这种情况下,shell无法查看shell(1)执行的历史记录,但我想查看每个shell中的所有bash历史记录.
所以我的问题是如何才能看到所有的bash历史?有谁知道如何破解?
非常感谢你提前!
etu*_*usm 24
cat ~/.bash_history
也会工作,虽然我倾向于使用
vim ~/.bash_history 
然后/用来搜索
Car*_*rum 16
你应该查看histappendshell选项和-a标志history:
histappend如果设置,则
HISTFILE当shell退出时,历史列表将附加到由变量值指定的文件中,而不是覆盖文件.
history
-a将"新"历史记录行(自当前bash会话开始以来输入的历史记录行)附加到历史记录文件.
如果您history -a加入PROMPT_COMMAND,您将获得一个始终保持最新的.bash_history文件.
您可以安装高级 Shell 历史记录之类的东西,它将把每个命令记录到 sqlite3 数据库中。它附带了一个用于从命令行查询数据库的工具。 https://github.com/barabo/advanced-shell-history
通过此设置,您将拥有所有会话的命令历史记录的统一视图。您还可以获得当前工作目录(或子树)的命令历史记录、命令退出代码、命令持续时间等信息。
完全披露:我编写并维护了该工具。
小智 5
尝试这个:
编辑您的.bashrc并将其附加到结尾:
shopt -s histappend
PROMPT_COMMAND="history -n; history -a"
unset HISTFILESIZE
HISTSIZE=2000
来源:http : //subbass.blogspot.com.br/2009/10/howto-sync-bash-history-between.html