Linux 终端的会话历史记录存储在哪里?

Linux 终端的会话历史记录存储在哪里?

我想获取 Linux 终端中会话命令历史记录的位置。我不是在寻找 .bash_history,因为它仅在会话关闭时更新。我希望命令在会话中运行而不实际关闭会话。

基本上,我想以编程方式获取这些命令并处理它们。即使有一些工具可以通过编程方式调用来执行此操作,我也可以使用它。

答案1

将这些行添加到您的 中~/.bashrc,任何会话中的每个命令都会写入~/.bash_history.

shopt -s histappend
export PROMPT_COMMAND='history -a'

... 还可以避免会话互相覆盖历史记录。

答案2

特别是对于 Bash,您应该能够使用和内置fc函数history访问当前 shell 的历史列表和/或操作历史文件。请注意,这些根本不是一回事,尤其是因为您可以在一个会话中拥有多个并发会话和多个 shell,但每个用户只有一个历史文件。当然,您想要哪个特定命令fchistory命令取决于您到底想要做什么。

相关内容