我最近决定开始备份我的历史记录是个好主意,并添加了以下内容.bashrc
:
export HISTFILE=~/.history/`date +%Y%m%d`.hist
export HISTSIZE=100000
没问题,似乎按照它所说的去做。
然而,我今天注意到(自从设置 shell 以来,我第一次重新登录到 shell 后),我的实际历史记录history
(或在 grep 内部模式时)本身回忆起来,只显示了自登录以来的命令,就好像备份也被删除了.bash_history
。
当我.bash_history
使用 手动检查时less
,一切都如我所料。
tail
即,a to的输出history
是:
wms_joe@Esau:~$ history | tail
48 past dir
49 ll
50 less .bash_history
51 tail .bash_history
52 cp .bash_history history_backup
53 past usearch
54 less ~/.bashrc
55 history
56 tail history
57 history | tail
但是tail
.bash_history 给出:
wms_joe@Esau:~$ tail .bash_history
cd prot_all/
ls
find . -type f -name *.txt -print0 | xargs -0 sed -i /XBW1/d
find . -type f -name '*.txt' -print0 | xargs -0 sed -i /XBW1/d
less PAU_03392_out.txt
less ../../PVC_operons/prot_all/PAU_03392_out.txt
past cut
less PAU_03392_out.txt
cut -f3 PAU_03392_out.txt | bc
less PAU_03392_out.txt
这些是文件等。我知道我最近正在处理,它们的命令 ID 应该在 4000-5000 区域,而不是 50 左右。
所以我的问题是,如何history
再次看到正确的东西?或者我可以以某种方式将 back 的内容合并.bash_history
到历史记录中,以便命令正确地调用它吗?
答案1
在进行更改之前,您必须设置HISTSIZE=0
关闭旧的。$HISTFILE
看man bash
。