ओएस एक्स में टर्मिनल कमांड इतिहास के सभी पढ़ें


8

ओएस एक्स पर टर्मिनल में चलने वाले मेरे सभी आदेशों तक पहुंचना बहुत अच्छा होगा, ताकि मैं एक रिमाइंडर शीट के रूप में समीक्षा और उपयोग कर सकूं।

मैं रिवर्स-आई-सर्च प्रॉम्प्ट का उपयोग कर रहा हूं, और अपने सभी इतिहास को स्टोर करने के लिए अपने .bash_profile को अपडेट किया है जैसा कि यहां Mactoids पर उल्लेख किया गया है : टर्मिनल कमांड इतिहास कैसे खोजें

  1. टर्मिनल प्रारंभ करें।

  2. दर्ज करके होम फ़ोल्डर में नेविगेट करें:

    cd ~/
    
  3. दर्ज करके .bash_profile बनाएँ:

    touch .bash_profile
    
  4. अब, या तो अपने पसंदीदा टेक्स्ट एडिटर में .bash_profile को एडिट करें या डिफॉल्ट TextEdit में फाइल को अपने आप खोलने के लिए टर्मिनल विंडो में इसे टाइप करें:

    open -e .bash_profile
    
  5. अंत में, इसे .bash_profile फ़ाइल में जोड़ें:

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. सुरषित और बहार।

क्या आपके पास कोई विचार है कि मैं ओएस एक्स में टर्मिनल कमांड इतिहास को आउटपुट करने के लिए कैसे पहुंच सकता हूं?


4
मुझे लगता है कि आपने पढ़ा है man bash, इसलिए आपको पता होना चाहिए कि इतिहास फ़ाइल में संग्रहीत है ~/.bash_history। आपको और क्या जानने की जरूरत है, क्या आप स्पष्ट कर सकते हैं?

हां, क्योंकि मैं नया 'मैन' कमांड अस्तित्व में था, तो मैनुअल पढ़ें जवाब मिला और इसके बारे में सिर्फ मजाक के लिए ऊपर सवाल पूछने का फैसला किया। त्वरित, स्पष्ट और स्पष्ट उत्तर के लिए धन्यवाद।
कैमरन मैकग्रैन

जवाबों:


6

आपके सभी इतिहास को संग्रहीत किया जाता है ~/.bash_history, जहां दोनों reverse-i-searchऔर ऊपर / नीचे कीज़ का उपयोग किया जाता है। वह फ़ाइल नियमित रूप से छंटनी होती है, लेकिन यदि आपने अपने लिंक में गाइड का पालन किया है, तो .bash_historyफ़ाइल व्यावहारिक रूप से कभी भी छंटनी नहीं होगी।


1

मामले में आपको अभी भी इसके लिए एक तय करने की आवश्यकता है, यहाँ मैंने कैसे किया। इसके साथ, मैं सभी टैब में इतिहास को सुरक्षित और सुरक्षित रख सकता हूं (यदि आप एक टैब पर एक कमांड दर्ज करते हैं, तो एक नया टैब खोलें और दबाएं, यह आपको पिछले टैब में दर्ज की गई कमांड का सुझाव देगा)

आपको 2 चीज़ों की आवश्यकता होगी: 1. सुनिश्चित करने के लिए अपने टर्मिनल में इस कमांड को दर्ज करें कि हिस्टापेंड चालू है:

shopt -s histappend && shopt histappend

2. आपको यह भी जानना होगा कि आपके इतिहास के आदेश कहां संग्रहीत किए जा रहे हैं।

मेरी इतिहास फाइलें ~ / .bash_session में संग्रहीत की जाती हैं, ताकि मेरा कोड प्रतिबिंबित हो। यदि आपका ~ / .bash_history, या किसी अन्य निर्देशिका में संग्रहीत किया जाता है, तो बस इसे ~ / .bash_session के लिए स्वैप करें जब हम इसे हमारे bash_profile में स्रोत बनाते हैं।

एक बार जब आपको पता चल गया कि, अपना bash_profile खोलें और निम्नलिखित कोड जोड़ें:

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  

1
ध्यान रखें कि रनिंग source ~/.bash_sessions/*.historyसभी कमांड्स को अंजाम देता है
panchicore

1

व्यक्तिगत रूप से, मैं इसे सरल तरीके से करना पसंद करूंगा और नवीनतम सत्र की जांच करने के बजाय, जो सभी टर्मिनल विंडो और सभी आदेशों को कवर नहीं करता है, सब कुछ प्रिंट करना पसंद करेंगे ।

पूर्ण इतिहास प्राप्त करें

cd ~/.bash_sessions
cat *.historynew *.history

यदि आप सत्र तिथि के अनुसार क्रमबद्ध करना चाहते हैं

cd ~/.bash_sessions
cat `ls -tr *.historynew *.history`
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.