如何查看所有 bash 历史记录?

问题描述 投票:0回答:6

首先让我在下面展示一个例子。

在 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 历史记录?有人知道怎么破解吗

提前非常感谢您!

bash shell history
6个回答
70
投票
cat ~/.bash_history

也可以工作,尽管我倾向于只使用

vim ~/.bash_history 

然后使用

/
进行搜索


28
投票

您应该查看

histappend
shell 选项和
-a
标志到
history
:

histappend

如果设置,当 shell 退出时,历史列表将附加到由

HISTFILE
变量的值命名的文件中,而不是覆盖该文件。

history

-a
将“新”历史行(自当前 bash 会话开始以来输入的历史行)附加到历史文件中。

如果您将

history -a
放入
PROMPT_COMMAND
中,您将获得始终最新的
.bash_history
文件。


7
投票

试试这个:

编辑您的 .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


6
投票

您可以安装高级 Shell 历史记录之类的东西,它会将每个命令记录到 sqlite3 数据库中。 它附带了一个用于从命令行查询数据库的工具。 https://github.com/barabo/advanced-shell-history

通过此设置,您将拥有所有会话的命令历史记录的统一视图。 您还可以获得当前工作目录(或子树)的命令历史记录、命令退出代码、命令持续时间等信息。

完全披露:我编写并维护了该工具。


4
投票

正如一些人所指出的,您需要使用

shopt -s histappend
。通过运行
shopt
并验证 histappend 是否“打开”进行检查。

为了确保每个命令(跨多个并发 shell)出现在每个 shell 的历史记录中,请将其添加到 .bashrc 文件的末尾:

# Skip if not an interactive shell
if [ -z "${PS1}" ]; then return; fi
export PROMPT_COMMAND="history -a; history -c; history -r; ${PROMPT_COMMAND}"

-a:将新的历史行(自当前 Bash 会话开始以来输入的历史行)追加到历史记录file

-c:清除历史记录列表

-r:读取当前历史记录文件并将其内容追加到历史记录列表

运行

source .bashrc
或创建新会话,并在多个终端窗口中在每个窗口中输入注释
#Tn
。 然后在一个终端上输入
history | tail -N
查看最后 N 行。 您应该会看到在不同终端上输入的所有评论。

将以下内容添加到

/etc/profile.d/bashrc.sh
可能会有所帮助,以便在历史记录的每一行上获取时间戳:

if [ -z "${PS1}" ]; then return; fi
export HISTTIMEFORMAT='%F %T '

结果如下所示:

 [moi@laBoheme ~]$ history | tail -4
 3292  2019-01-22 12:41:25  # T1
 3293  2019-01-22 12:41:32  # T2
 3294  2019-01-22 12:41:44  # T3
 3295  2019-01-22 12:41:50  history | tail -4

0
投票

history 1
为我工作..

这将显示从第 1 行开始的历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.