कैसे ठीक करें और "भ्रष्ट इतिहास फ़ाइल" को zsh में ठीक करें?


101

रिबूट के बाद, शेल खोलते समय मुझे एक संदेश दिखाई देने लगा:

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

मैं इस स्थिति से कैसे उबर सकता हूं और संभावित रूप से कुछ इतिहास पुनर्प्राप्त कर सकता हूं?

जवाबों:


170

मेरे लापता इतिहास को पुनर्स्थापित करते हुए, मेरे लिए काम करने वाली एक समस्या का वर्णन करने वाला एक ब्लॉग पोस्ट मिला :

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

7
क्या मैं पूछ सकता हूं कि कमांड का क्या fc -R .zsh_historyमतलब है? मैंने कोशिश की है man fcऔर यह मुझे बताता है No manual entry for fc, और न ही fc -hमुझे उपयोग से अधिक बता सकता है । धन्यवाद।
केंशिनजी

2
Fc कमांड के बारे में अधिक जानकारी के लिए, यहां और यहां देखें । -R विकल्प वहाँ मौजूद नहीं है, लेकिन zsh पूरा होने वाले सूचियों में, विकल्पों में से,-R -- read history from file
जेफरी

किसी को पता है कि इस त्रुटि के कारण क्या हो सकता था?
हगरोनफोर

1
@hugronaphor मेरे मामले में यह था कि मुझे अपने लैपटॉप का हार्ड बंद करना पड़ा। यह मेरे लिए कुछ मुद्दों का कारण बना जैसा कि मैंने डिस्क लेखन ऑपरेशन के दौरान किया था और उनमें से एक चीज़ जो भ्रष्ट हो गई थी वह अन्य चीजों के बीच मेरी ज़ीएस फाइल थी।
रायनअर्ड

1
सही fcदस्तावेज के लिए, देखें man zshbuiltins, zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html पर भी उपलब्ध है । जेफरी द्वारा सुझाए गए अनुसार, "'fc -R' दिए गए फ़ाइल से इतिहास को पढ़ता है"।
मार्टिन

14

बस यादृच्छिक वर्ण हटाने से भी काम हो सकता है:

  • vim .zsh_history

  • किसी भी अजीब चरित्र को हटा दें, जो संभवतः सबसे अंत में होगा। (मेरे मामले में मेरे पास @दूसरी आखिरी पंक्ति में एक स्ट्रिंग था, एक मजबूर शटडाउन के बाद)

  • :x (सुरषित और बहार)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.