सुपर-उपयोगकर्ता साइट से आपके द्वारा दिए गए लिंक के उत्तर को जरूरी नहीं कि 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