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

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

ऊपर / नीचे तीर

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

!!

ऊपर सूचीबद्ध एक के लिए एक समान सुविधा डबल बैंग (!!) है। शैल में दर्ज किए गए वे वर्ण अंतिम टाइप किए गए कमांड का प्रतिनिधित्व करते हैं। आइए मान लें कि आप यह जानने के लिए केवल एक कमांड चलाने की कोशिश कर रहे हैं कि आपको इसे करने के लिए रूट विशेषाधिकारों की आवश्यकता है। पूरे आदेश को पुनः टाइप करने के बजाय, आप बस प्रवेश कर सकते हैं

 सुडो !! 

बैश बदल जाएगा !! पिछले आदेश के लिए, जैसा कि नीचे दिए गए उदाहरण में है।

यह आगे पिछड़ा काम करता है, आप कुछ ऐसा कर सकते हैं

 ! -5 

इतिहास में वापस 5 प्रविष्टियों को याद करने के लिए।

!(शब्द)

शायद कुछ दिन पहले आपने अपने खोल में एक लंबा, जटिल कमांड टाइप किया था, उदाहरण के लिए "wterm" के लिए विकल्पों की एक श्रृंखला। आप खोज में निर्मित इतिहास का उपयोग कर कमांड से ढूंढ और पुनः दर्ज कर सकते हैं। आप बस के बाद कमांड के पहले कुछ अक्षर जोड़ते हैं! और बाश इसे मिल जाएगा।

इस से सावधान रहें। आप जो कुछ भी उम्मीद कर रहे थे उसके अलावा आप कुछ और कर सकते हैं। "आरएम" या "एफडीआईस्क" जैसे संभावित खतरनाक आदेशों के लिए इसका उपयोग न करें।

!?(शब्द)

यह आखिरी फीचर के समान है जिसमें यह दर्ज शब्द के लिए इतिहास की खोज करता है, लेकिन विपरीत! (शब्द) यह केवल शुरुआत में ही कमांड में शब्द नहीं मिलेगा।

इस से सावधान रहें। आप जो कुछ भी उम्मीद कर रहे थे उसके अलावा आप कुछ और कर सकते हैं। "आरएम" या "एफडीआईस्क" जैसे संभावित खतरनाक आदेशों के लिए इसका उपयोग न करें।

Ctrl-R

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

मैन्युअल खोज

शायद आपको Ctrl-R काम करने का तरीका पसंद नहीं है, या आप टाइप किए गए सभी आदेशों को देखना चाहते हैं, या केवल वे लोग जिनमें एक विशेष शब्द है। इतिहास कमांड आपको प्रत्येक कमांड के इतिहास संख्या के साथ अपना पूरा आदेश इतिहास दिखाएगा (उस विचार को पकड़ो, हम एक ही पल में उन नंबरों को कवर करेंगे)।

आप इतिहास कमांड दिखाए जाने वाले आइटमों की संख्या भी निर्दिष्ट कर सकते हैं। इतिहास में अंतिम 10 प्रविष्टियों को देखने के लिए, आप टाइप कर सकते हैं

 इतिहास 10 

एक विशेष शब्द वाले सभी इतिहास प्रविष्टियों को देखने के लिए, आप नीचे दिए गए परिणामों को फ़िल्टर करने के लिए grep का उपयोग कर सकते हैं।

! (संख्या)

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

 ! 87 

अपने खोल में

शब्द प्रतिस्थापन

यह एक बहुत अच्छा है। आपने कितनी बार कुछ बड़े लंबे आदेश को लिखा है, केवल यह समझने के लिए कि जब आप एचडीसी चाहते हैं तो एचडीडी कहें? अच्छी तरह से बाश आप कवर किया है। आप पिछले कमांड में एक शब्द को "^" का उपयोग करके दूसरे के साथ बदल सकते हैं, जैसा कि नीचे दिए गए उदाहरण में है

अपना इतिहास प्रबंधित करना

डिफ़ॉल्ट रूप से, इतिहास ~ / .bash_history में सहेजा जाता है। आप इस फ़ाइल से निपट सकते हैं हालांकि आप फिट देखते हैं, लेकिन कुछ उपयोगी चीजें हैं जिन्हें आप स्वचालित रूप से प्रबंधित करने का प्रयास कर सकते हैं। अर्थात्, पर्यावरण चर सेट करना HISTSIZE और HISTFILESIZE । उन प्रविष्टियों की संख्या सेट करने के लिए जिन्हें इतिहास फ़ाइल में 1000 में सहेजा जा सकता है, दर्ज करें

 निर्यात HISTFILESIZE = 1000 

अपने खोल में यह फ़ाइल को 1000 प्रविष्टियों तक सीमित कर देगा। यदि आप इस परिवर्तन को स्थायी बनाना चाहते हैं, तो उस निर्यात कमांड को अपनी .bashrc या .bash_profile फ़ाइल में रखें।