zsh: corrupt history file /home/george/.zsh_history
Windows10にOracleのVirtualBoxをインストールした上で、
仮想環境としてKali Linuxを運用しています。
時折Winを放置することがあり自動的にスリープモードに入るのですが、
そのせいなのかLinuxのほうにエラーが起こる機会が何度か生じました。
今回はzshの履歴ファイルが破損してしまったようです。
メジャーなzsh corruptの修正方法
cd ~
mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history
書き込み中にシャットダウンをするとこのように壊れてしまうようです。
まず、壊れてしまったzsh_historyを移動させます。
stringsコマンドは文字列として標準出力に出力するためのコマンドです。
fc -Rコマンドは指定されたファイルから履歴を読み取るコマンドです。
直接zsh_historyを編集して修正する方法
nano .zsh_history
終わりの方に記載されている変な文字を削除します。
(@であることが多い)
y
Enter(名前はそのままで保存して終了)
私はviがうまく使えないのでnanoコマンドですが、
エディタで.zsh_historyを編集すればどちらでも治すことができます。
参考にしたサイト
How to fix and recover a “corrupt history file” in zsh?
https://superuser.com/questions/957913/how-to-fix-and-recover-a-corrupt-history-file-in-zsh