Answers:
您从“超级用户”站点提供的链接中的答案不一定应被视为history
命令默认行为的“替代方法” 。bash shell具有一些默认的默认行为,即理智。
我强烈建议您阅读如何避免丢失任何历史记录行?解释这些修改的作用history
。此外,关于这不是history
命令的默认行为的原因,有一些合理的注意事项需要注意。
性能-由于您要使用来保存每个窗口中的每个命令history -a
,因此.bash_history
文件可能会变得很大,并且需要更多资源来加载bash shell。这会导致更长的启动时间(对于您的终端会话,不是整个系统本身的启动)。
组织-(来自以上文章)“同时交互的shell(针对给定用户)的历史记录命令将交织在一起。因此,由于历史记录不是在单个shell中执行的,因此历史记录不能保证它们的顺序列表。”
如果您担心进一步固定bash shell和.bash。bash_history
文件通过审核,请看一下这篇文章:如何记录历史记录或“安全”打击以防止历史记录删除?
有时(例如系统不稳定或电源故障),我发现以下命令很有用。
将以下行添加到您的~/.bashrc
文件:
unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND
shopt -s histappend
确保.bashrc
使用以下命令获取文件源source ~/.bashrc
问题“如何手动保存终端历史记录?”的最简单有效的答案:
history -a
还可能值得考虑切换到具有setopt inc_append_history
(“在执行之前保存每个命令”)的zsh 。
这个问题也很重要:是否可以立即写入.bash_history?
要将bash历史记录手动保存到文件中:
history -w ~/history.txt
vim ~/history.txt
它将历史记录导出到名为history.txt的文件中。然后,您可以使用自己喜欢的编辑器进行查看。
答案复制自http://tech.karbassi.com/2007/01/14/view-and-change-bash-history/