Làm cách nào để khắc phục và khôi phục tập tin lịch sử bị hỏng của Wikipedia trong zsh?


101

Sau khi khởi động lại, tôi bắt đầu thấy một thông báo khi tải shell:

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

Làm thế nào tôi có thể phục hồi từ tình huống này và có khả năng phục hồi một số lịch sử?

Câu trả lời:


170

Tìm thấy một bài đăng blog mô tả một bản sửa lỗi có vẻ hiệu quả với tôi, trong khi khôi phục lại lịch sử còn thiếu của tôi:

mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history

7
Tôi có thể hỏi lệnh này fc -R .zsh_historycó nghĩa là gì? Tôi đã thử man fcvà nó cho tôi biết điều đó No manual entry for fc, và cũng không thể fc -hcho tôi biết nhiều hơn việc sử dụng. Cảm ơn.
kenshinji

2
Để biết thêm chi tiết về lệnh fc, xem tại đâyđây . Tùy chọn -R không có ở đó, nhưng danh sách hoàn thành zsh, trong số các tùy chọn,-R -- read history from file
Jeffrey Lebowski

Bất cứ ai cũng biết những gì lỗi này có thể được gây ra bởi?
hugronaphor

1
@hugronaphor Trong trường hợp của tôi, tôi đã phải tắt máy tính xách tay. Điều này gây ra một số vấn đề cho tôi khi tôi thực hiện điều này trong quá trình ghi đĩa và một trong những điều bị hỏng là tệp zsh của tôi trong số những thứ khác.
RyanNerd

1
Để biết fctài liệu chính xác , hãy xem man zshbuiltins, cũng có sẵn tại zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html . Theo đề xuất của Jeffrey, "'fc -R' đọc lịch sử từ tệp đã cho".
Martin

14

Chỉ cần xóa các ký tự ngẫu nhiên cũng có thể hoạt động:

  • vim .zsh_history

  • Loại bỏ bất kỳ ký tự lạ, có lẽ sẽ gần cuối. (Trong trường hợp của tôi, tôi đã có một chuỗi @trong dòng cuối cùng thứ hai, sau khi tắt máy bắt buộc)

  • :x (lưu và thoát)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.