Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

बैश इतिहास कमांड का उपयोग कैसे करें

बैश का एक समृद्ध इतिहास रहा है। यानी, यह एक पुराना खोल है जिसमें और भी पुराने पूर्वज (बॉर्न शेल) हैं, लेकिन इसका history भी बहुत अच्छा है कमांड जो इसकी सुविधाओं की संख्या के आधार पर अन्य सभी शेल इतिहास इंटरफेस को पार करता है। history . का बैश संस्करण रिवर्स सर्च, क्विक रिकॉल, रीराइटिंग हिस्ट्री, और बहुत कुछ की अनुमति देता है।

history कमांड कई अन्य कमांड की तरह नहीं है। /usr/bin जैसे सामान्य सिस्टम-स्तरीय स्थानों में रखी जाने वाली निष्पादन योग्य फ़ाइलें होने के कारण आपको कमांड की आदत हो सकती है , /usr/local/bin , या ~/bin . अंतर्निहित history कमांड आपके PATH में नहीं है और उसका कोई भौतिक स्थान नहीं है:

$ which history

which: no history in [PATH]

इसके बजाय, history शेल का एक अंतर्निहित कार्य है:

$ type history
history is a shell builtin
$ help history
history: history [-c] [-d offset] [n] or
history -anrw [filename] or
history -ps arg [arg...]

Display or manipulate the history list.
[...]

उस कारण से, प्रत्येक शेल में इतिहास फ़ंक्शन अद्वितीय है, इसलिए आप जो बैश में उपयोग करते हैं वह Tcsh या फिश या डैश में काम नहीं कर सकता है, और आप जो उपयोग करते हैं वह बैश में काम नहीं कर सकता है। कुछ मामलों में, यह जानना कि बैश क्या कर सकता है, अन्य शेल के उपयोगकर्ताओं को बैश व्यवहार को क्लोन करने के लिए दिलचस्प हैक बनाने के लिए प्रेरित कर सकता है, और यह बैश सुविधाओं को अनलॉक कर सकता है जिन्हें आप कभी नहीं जानते थे।

अपना बैश इतिहास देखें

history . का सबसे बुनियादी और बारंबार उपयोग कमांड आपके शेल सत्र का इतिहास देखने के लिए है:

$ echo "hello"
hello
$ echo "world"
world
$ history
  1  echo "hello"
  2  echo "world"
  3  history

इवेंट डिज़ाइनर

ईवेंट डिज़ाइनर आपके इतिहास को ईवेंट द्वारा खोजते हैं। एक ईवेंट इस संदर्भ में आपके इतिहास में लॉग इन किया गया एक कमांड है, जिसे एक न्यूलाइन कैरेक्टर द्वारा चित्रित किया गया है। दूसरे शब्दों में, यह एक पंक्ति है, जो संदर्भ के लिए एक सूचकांक संख्या द्वारा चिह्नित है।

इवेंट डिज़ाइनर ज्यादातर विस्मयादिबोधक बिंदु से शुरू होते हैं, जिसे कभी-कभी बैंग . भी कहा जाता है (! )।

अपने इतिहास से किसी आदेश को फिर से चलाने के लिए, इच्छित आदेश की अनुक्रमणिका संख्या के तुरंत बाद विस्मयादिबोधक बिंदु (कोई रिक्त स्थान नहीं) का उपयोग करें। उदाहरण के लिए, मान लें कि पंक्ति 1 में कमांड है echo "hello" , और आप इसे फिर से चलाना चाहते हैं:

$ !1
echo "hello"
hello

आप इतिहास में अपनी वर्तमान स्थिति से ऋणात्मक संख्या में रेखाएँ प्रदान करके सापेक्ष स्थिति का उपयोग कर सकते हैं। उदाहरण के लिए, इतिहास में तीन प्रविष्टियां वापस जाने के लिए:

$ echo "foo"
foo
$ echo "bar"
bar
$ echo "baz"
baz
$ !-3
echo "foo"
foo

अगर आप सिर्फ एक लाइन पीछे जा रहे हैं, तो आप शॉर्टहैंड !! . का इस्तेमाल कर सकते हैं !-1 . के बजाय . यह एक पूरे कीस्ट्रोक की बचत है!

$ echo "foo"
$ !!
echo "foo"
foo

आप कमांड चलाने के लिए, रिवर्स में, प्रविष्टियों के माध्यम से एक विशिष्ट स्ट्रिंग की खोज कर सकते हैं। आरंभ करने . आदेश खोजने के लिए एक विशिष्ट स्ट्रिंग के साथ, जिस स्ट्रिंग को आप खोजना चाहते हैं, उसके तुरंत बाद एक विस्मयादिबोधक बिंदु का उपयोग करें (कोई स्थान नहीं):

$ echo "foo"
$ true
$ false
$ !echo
echo "foo"
foo

आप किसी भी स्थिति में एक स्ट्रिंग युक्त कमांड की खोज कर सकते हैं (न केवल शुरुआत में)। ऐसा करने के लिए, ! . का उपयोग करें साथ ही वह स्ट्रिंग जिसे आप हमेशा की तरह खोज रहे हैं, लेकिन स्ट्रिंग के दोनों ओर प्रश्नवाचक चिह्न लगाएं। आप अनुगामी प्रश्न चिह्न को छोड़ सकते हैं यदि आप जानते हैं कि स्ट्रिंग के तुरंत बाद एक न्यूलाइन वर्ण आता है (अर्थात रिटर्न दबाने से पहले यह आखिरी चीज है जिसे आपने टाइप किया था ):

$ echo "foo"
$ true
$ false
$ !?foo?
echo "foo"
foo

स्ट्रिंग प्रतिस्थापन

एक पंक्ति की शुरुआत में स्ट्रिंग्स की खोज के समान, आप एक स्ट्रिंग की खोज कर सकते हैं और इसे एक नई स्ट्रिंग के साथ बदल सकते हैं, कमांड को बदल सकते हैं:

$ echo "hello"
hello
$ echo "world"
world
$ ^hello^foo
echo "foo"
foo

इतिहास को उपयोगी बनाएं

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


  1. 7 बैश इतिहास शॉर्टकट जो आप वास्तव में उपयोग करेंगे

    बैश इतिहास शॉर्टकट के अधिकांश गाइड उपलब्ध हर एक को विस्तृत रूप से सूचीबद्ध करते हैं। इसके साथ समस्या यह है कि मैं एक बार शॉर्टकट का उपयोग करूंगा, फिर सभी संभावनाओं को आजमाते हुए शीशा लगाऊंगा। तब मैं अपने कार्य दिवस पर चला जाता और उन्हें पूरी तरह से भूल जाता, केवल प्रसिद्ध !! को बनाए रखता। ट्रिक मैंन

  1. फ़ाइल इतिहास में भिन्न ड्राइव का उपयोग कैसे करें।

    इस ट्यूटोरियल में आपको विंडोज 10 में फाइल हिस्ट्री में बैकअप डेस्टिनेशन के रूप में एक अलग ड्राइव का उपयोग करने के बारे में विस्तृत निर्देश मिलेंगे। पिछले ट्यूटोरियल में मैंने दस्तावेज़, चित्र, संगीत, वीडियो और डेस्कटॉप फ़ोल्डर से आपकी व्यक्तिगत फ़ाइलों को स्वचालित रूप से वापस करने के तरीके का उल्ल

  1. Windows 10 पर सुरक्षित बैकअप बनाने के लिए फ़ाइल इतिहास का उपयोग कैसे करें

    विंडोज 10 पर, फ़ाइल इतिहास सुविधा आपको फ़ाइलों और फ़ोल्डरों की प्रतियों को सुरक्षित स्थानों पर बैकअप करने की अनुमति देती है, यदि आप दुर्घटना से कुछ हटाते हैं। डिफ़ॉल्ट रूप से, फ़ाइल इतिहास सुविधा संगीत, चित्र, दस्तावेज़, डाउनलोड और वीडियो फ़ोल्डर में मौजूद फ़ाइलों का बैकअप लेगी, लेकिन आप उन डिफ़ॉल्ट