टर्मिनल इतिहास को मैन्युअल रूप से कैसे बचाया जाए?


33

यह मेरी समझ है कि टर्मिनल से बाहर निकलने पर इतिहास फ़ाइल अपडेट हो जाती है। लेकिन कभी-कभी मेरा कंप्यूटर क्रैश हो जाता है, और टर्मिनल सफाई से बाहर नहीं निकलता है, और फिर मैं अपने इतिहास से उन कमांडों को खो देता हूं जो कष्टप्रद है। मैं इसे तुरंत कैसे फ्लश कर सकता हूं, ताकि मेरे कंप्यूटर में मंदी होने पर भी प्रविष्टियां अभी भी वहां जाएं? फिलहाल मैं इस वर्कअराउंड का उपयोग कर रहा हूं , लेकिन मुझे लगता है कि एक बेहतर तरीका होना चाहिए।

मैं Ubuntu 12.10 पर सूक्ति-टर्मिनल का उपयोग कर रहा हूं।

जवाबों:


17

सुपर-उपयोगकर्ता साइट से आपके द्वारा दिए गए लिंक के उत्तर को जरूरी नहीं कि historyकमांड के डिफ़ॉल्ट व्यवहार के रूप में 'वर्कअराउंड' के रूप में देखा जाए। बैश शेल में कुछ सेंस है, आउट ऑफ द बॉक्स, डिफॉल्ट बिहेवियर।

मैं पढ़ने की अत्यधिक अनुशंसा करूंगा कि मैं किसी भी इतिहास की पंक्तियों को खोने से कैसे बच सकता हूं? ये संशोधन क्या historyकर रहे हैं , इसकी व्याख्या के लिए । इसके अतिरिक्त, कुछ वाजिब चिंताएं हैं कि इस बात की जानकारी होना कि यह historyकमांड का डिफ़ॉल्ट व्यवहार क्यों नहीं है ।

  • प्रदर्शन - चूंकि आप हर कमांड को हर विंडो से सेव कर रहे हैं history -a, इसलिए .bash_historyफाइल बड़ी हो सकती है और बैश शेल को लोड करने के लिए अधिक संसाधनों की आवश्यकता होती है। यह लंबे समय तक शुरू हो सकता है (आपके टर्मिनल सत्रों के लिए, कुल सिस्टम स्टार्टअप नहीं, प्रति से।)।

  • संगठन - (उपर्युक्त लेख से) "एक साथ (एक उपयोगकर्ता के लिए) एक साथ इंटरैक्टिव गोले के इतिहास आदेशों को intertwined किया जाएगा। इसलिए इतिहास एक गारंटीकृत अनुक्रमिक सूची नहीं है क्योंकि वे एक ही शेल में निष्पादित किए गए थे।"

यदि आप बैश शेल और आगे हासिल करने के बारे में चिंतित हैं। bash_historyऑडिटिंग के माध्यम से फाइल करें, इस लेख पर एक नज़र डालें: मैं इतिहास हटाने के खिलाफ इतिहास या "सुरक्षित" बैश कैसे करूं?

अवसर पर (जैसे एक अस्थिर प्रणाली, या बिजली की विफलता), मैंने नीचे दिए गए आदेशों को उपयोगी पाया है।

अपनी ~/.bashrcफ़ाइल में निम्न पंक्तियाँ जोड़ें :

unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND

shopt -s histappend

.bashrcकमांड का उपयोग करके अपनी फ़ाइल का स्रोत सुनिश्चित करेंsource ~/.bashrc


39

प्रश्न का सबसे सरल, काम करने का उत्तर "मैन्युअल रूप से टर्मिनल इतिहास को कैसे बचाया जाए?"

history -a

यह zsh पर स्विच करने पर विचार करने के लिए भी लायक हो सकता है, जिसमें setopt inc_append_history("निष्पादित होने से पहले प्रत्येक कमांड को सहेजें") है।

और यह सवाल प्रासंगिक भी है: क्या यह संभव है कि .bash_history को तत्काल लिखा जाए?


24

फ़ाइल में मैन्युअल रूप से इतिहास को सहेजने के लिए:

history -w ~/history.txt
vim ~/history.txt

यह इतिहास को फ़ाइल में निर्यात करता है, जिसे history.txt कहा जाता है। फिर आप अपने पसंदीदा संपादक का उपयोग करके इसे देख सकते हैं।

Http://tech.karbassi.com/2007/01/14/view-and-change-bash-history/ से कॉपी किया गया उत्तर

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