मैं अपनी .bash_history
फ़ाइल की सामग्री देखना चाहता हूं, लेकिन कमांड लाइन के माध्यम से वहां जाना नहीं जानता।
/home/username/.bash_history
?
.bash_history
केवल एक टर्मिनल बंद होने पर जोड़ा जाता है।
मैं अपनी .bash_history
फ़ाइल की सामग्री देखना चाहता हूं, लेकिन कमांड लाइन के माध्यम से वहां जाना नहीं जानता।
/home/username/.bash_history
?
.bash_history
केवल एक टर्मिनल बंद होने पर जोड़ा जाता है।
जवाबों:
आप वास्तविक फ़ाइल ही उपयोग करना चाहते हैं, तो बस अपने पसंदीदा पाठ संपादक का उपयोग (मैं का उपयोग करें emacs
, लेकिन आप उपयोग कर सकते हैं pluma
की gedit
या vim
या जो कुछ भी):
emacs ~/.bash_history
यदि आपका इतिहास फ़ाइल डिफ़ॉल्ट स्थान है। यदि आपको वहाँ कुछ भी नहीं मिलता है, तो आपने इतिहास फ़ाइल का नाम बदल दिया होगा। यह $HISTFILE
चर में संग्रहीत है , इसलिए इसका वर्तमान मूल्य जांचने के लिए इसे प्रिंट करें:
echo $HISTFILE
यदि, फ़ाइल के बजाय, आप केवल अपना इतिहास देखना चाहते हैं, तो आप history
सुझाए गए @ minerz029 के रूप में चला सकते हैं । आदेश कोई विकल्प के साथ सिर्फ अपने की सामग्री को प्रिंट आदेशों वर्तमान खोल में मार डाला है कि अभी तक उस फ़ाइल के लिए लिखा नहीं किया गया है, लाइन नंबर के साथ किया गया।history
$HISTFILE
यदि आपको वास्तव में फ़ाइल के आउटपुट की आवश्यकता है .bash_history
, तो नीचे दिए गए सभी आदेशों के history
साथ बदलें
cat ~/.bash_history
।
यदि आप वास्तव में सामने की संख्या के बिना कमांड चाहते हैं, तो इस कमांड का उपयोग करें history
:
history | cut -d' ' -f 4-
अन्यथा, कोई अंतर नहीं होगा (सिवाय अगर आप एक अलग शेल का उपयोग कर रहे हैं)।
आप उपयोग कर सकते हैं
history | tail -n 15
अपने इतिहास की केवल अंतिम 15 पंक्तियाँ प्राप्त करने के लिए अंतिम अंतिम मुद्रित (सबसे नीचे) के साथ।
वैकल्पिक रूप से, उपयोग करें
history | grep "apt-get" | tail -n 15
पिछले 15 आदेशों को प्राप्त करने के लिए जो apt-get
अंतिम निष्पादित अंतिम (निचले तल पर) के साथ सम्मिलित हैं । आप apt-get
जिस भी कमांड (या कमांड तर्क) को बदलना चाहते हैं, उसे खोज सकते हैं (यह एक नियमित अभिव्यक्ति हो सकती है)।
आप उपयोग कर सकते हैं
history | tac | less
शीर्ष पर सबसे हाल ही में शुरू किए गए सभी आदेशों को स्क्रॉल करने के लिए। qबाहर निकलने के लिए दबाएँ ।
इसी तरह, उपयोग करें
history | grep "apt-get" | tac | less
शीर्ष पर सबसे हाल ही में शुरू होने वाले उनमें (तर्कों सहित) " " के साथ निष्पादित सभी आदेशों को स्क्रॉल apt-get
करने के लिए। qबाहर निकलने के लिए दबाएँ ।
Minerz029 के उत्कृष्ट जवाब के अलावा।
पुनरावृत्ति करने के लिए - 'इतिहास' कमांड इतिहास के साथ-साथ उसके आगे एक नंबर प्रिंट करता है।
आप इतिहास के आउटपुट को grep, कम आदि में पाइप कर सकते हैं।
इतिहास का ouput आउटपुट के बगल में बाईं ओर एक संख्या दिखाता है। जैसे
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
इस नंबर से आप कमांड को फिर से चला सकते हैं।
473 को फिर से चलाने के लिए मैं टर्मिनल में टाइप करना चाहता हूँ
admin@xen1~$ !473
इतिहास आउटपुट में 473 के बगल में कमांड दोहराने के लिए एंटर कुंजी के बाद।
आप कमांड की हिस्ट्री में इंटरेक्टिवली पीछे की ओर भी टाइप कर ctrl + r
सकते हैं और फिर कमांड के कुछ कंटेंट टाइप करना शुरू कर देंगे और यह सर्च करके भर जाएगा। जब आपको यह मिल जाए तो आप इसे दोहराने के लिए दर्ज कर सकते हैं, या [tab]
इसे कमांड को संपादित करने के लिए कमांड लाइन पर कॉपी करने के लिए कुंजी को दबाएं ।
बेशक, वे आखिरी दो विकल्प बैश शेल में काम करते हैं। मुझे यकीन नहीं है कि अगर ये सुविधाएँ अन्य गोले में काम करती हैं। लेकिन चूंकि बैश उबंटू डिफ़ॉल्ट शेल है, इसलिए आपको उन्हें वहां ढूंढना चाहिए।
आप की कोशिश करने के लिए "का सुझाव बॉक्स" इतिहास की तरह कर सकते हैं https://github.com/dvorka/hstr - यह बैश इतिहास पढ़ता है और त्वरित नेविगेशन के लिए अनुमति देता है।
history | less