如何修复和恢复 zsh 中的“损坏的历史文件”?

如何修复和恢复 zsh 中的“损坏的历史文件”?

重新启动后,我在加载 shell 时看到一条消息:

zsh: corrupt history file /home/myusername/.zsh_history

我怎样才能从这种情况中恢复过来并可能恢复一些历史记录?

答案1

找一个博客文章描述一个对我有用的修复程序,同时恢复我丢失的历史记录:

mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history

之后,你可能想要指示 zsh 从恢复的历史文件中重新读取历史记录

fc -R .zsh_history

答案2

简单地删除随机字符也可能有效:

  • vim .zsh_history

  • 删除所有奇怪的字符,这些字符很可能位于末尾附近。(在我的例子中,@在强制关机后,倒数第二行出现了一串)

  • :x(保存并退出)

相关内容