问题
在一次重装Ubuntu随后进行了一些修改的情况下,输入命令会出现报错zsh: corrupt history file /home/sgud4h5gh/.zsh_history
并且好像不能执行,实际上是因为文件.zsh_history
出现损坏或者乱码的情况。
首先要知道的是,一般情况下它第一次会报错并且不能执行只是一次报告,只需要再输入一次命令就能执行。
解决办法
- 1、
fc -R .zsh_history
使用自动修复
*2、如果不行,直接使用rm -f /home/sgud4h5gh/.zsh_history
删除该文件并新建 - 3、如果希望保留历史记录,使用string特性,首先
mv .zsh_history .zsh_history_bad
,这样完成备份,随后使用string->strings .zsh_history_bad > .zsh_history
这样可以过滤掉一些乱码完成修补
strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。
参考了https://zhuanlan.zhihu.com/p/97008008