充分利用bash历史 - 一个彻底,快速的解决方案

时间:2014-01-13 17:06:47

标签: bash history

我完全依赖ctrl-r能够重现我在命令行上做的很多事情。如果我记得我过去使用的任何命令的任何部分,我可以通过输入ctrl-r并输入我记得的命令部分来显示那个旧命令。

前段时间我很沮丧,每次关闭终端会话时我都会丢失历史记录,所以我将这些命令添加到.bashrc

export HISTIGNORE=lst::top:ssh*:cd*  # don't put these in history
export HISTCONTROL=erasedups    # no duplicate entries
export HISTSIZE=50000           # big big history
shopt -s histappend             # append to history, don't overwrite it
# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -r; $PROMPT_COMMAND"

一旦我这样做,我发现我的生活是完全愉快的,在几小时前立刻提起命令。但是,你可以想象,几年后我的终端开始放慢速度。每次我输入命令时,我都需要等待更新大历史记录。我现在正处于每次输入东西时都需要等待一秒钟的时候会变得有点烦人。

有没有人对如何保持完整的可搜索历史记录有任何建议,而不会遇到因每次命令后进行历史记录更新而导致的延迟?

1 个答案:

答案 0 :(得分:0)

通过保留一系列提示和提示,您可能会得到更好的服务。为自己欺骗。在您的主目录中创建一个名为~/.notes/之类的目录,并在您学习新内容时在其中添加小文件。

~/.notes/bash_tricks

* seq outputs a list of numbers
  seq 5 --> 1 2 3 4 5
  seq 5 10 --> 5 6 7 8 9 10

~/.notes/ssh

* Make an ssh key using ssh-keygen

这些你可以使用你喜欢的方法永久保存并保存。 Dropbox,拇指驱动器等等。

如果您每隔几天查看一下您的历史记录,就可以减少它的大小并恢复所需的性能。