سؤال كيفية إصلاح واستعادة "ملف التاريخ الفاسد" في zsh؟


بعد إعادة التشغيل ، بدأت أرى رسالة عند تحميل shell:

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

كيف يمكنني التعافي من هذا الوضع واحتمال استرداد بعض التاريخ؟


86
2017-08-16 02:52


الأصل




الأجوبة:


وجدت مشاركة مدونة يصف إصلاحًا يبدو أنه يعمل بالنسبة لي ، مع استعادة سجلي المفقود:

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

153
2017-08-16 03:54



هل لي أن أسأل ما الأمر fc -R .zsh_history تعني؟ لقد حاولت man fc ويخبرني ذلك No manual entry for fc، ولا يمكن أن fc -h قل لي أكثر من الاستخدام. شكر. - kenshinji
لمزيد من التفاصيل حول الأمر fc ، راجع هنا و هنا. الخيار -R غير موجود هناك ، ولكن قوائم إكمال zsh ، من بين الخيارات ، -R -- read history from file - Jeffrey Lebowski
أي شخص يعرف ما يمكن أن يكون سبب هذا الخطأ؟ - hugronaphor
hugronaphor في حالتي كان ذلك اضطررت إلى القيام بإيقاف التشغيل الصارم لجهاز الكمبيوتر المحمول الخاص بي. هذا تسبب في بعض القضايا بالنسبة لي كما فعلت هذا أثناء عملية الكتابة على القرص وأحد الأشياء التي حصلت على تالف كان ملف زش بين أشياء أخرى. - RyanNerd
على الصحيح fc الوثائق ، انظر man zshbuiltins، متاح أيضا في zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html. كما اقترح جيفري ، "fc -R" يقرأ التاريخ من الملف المحدد ". - Martin


قد تعمل إزالة الأحرف العشوائية ببساطة أيضًا:

  • vim .zsh_history

  • أزل أي أحرف غريبة ، والتي من المرجح أن تكون بالقرب من النهاية. (في حالتي كان لي سلسلة من @ في السطر الأخير الثاني ، بعد إيقاف التشغيل القسري)

  • :x (حفظ وخروج)


3
2017-07-06 10:03



كان لدي أيضا حفنة من @ق في خط واحد. أزلت تلك وفويلا ، ذهب الخطأ! - illusionist