यदि आप आधुनिक bash शेल का उपयोग कर रहे हैं, तो आप अपनी कमांड हिस्ट्री के माध्यम से खोज करने के लिए कीबोर्ड शॉर्टकट के रूप में Ctrl+R का उपयोग कर सकते हैं। आप उन कमांड को ला सकते हैं जिनका आपने पहले उपयोग किया था और उन्हें फिर से जारी कर सकते हैं। यह छोटी सी ट्रिक आपकी कमांड लाइन वर्कलोड को काफी हद तक तेज कर सकती है।
इसके काम करने के लिए आपको एक टर्मिनल से काम करना होगा। एक खोलने के लिए Ctrl, Alt और T दबाए रखें या Super+T यदि आपका डेस्कटॉप वातावरण इसका समर्थन करता है। आप एप्लिकेशन मेनू पर क्लिक करके, सिस्टम टूल्स पर जाकर और फिर टर्मिनल पर क्लिक करके या Ubuntu डैश पर खोज करके भी खोल सकते हैं।
विधि 1: कमांड खोजने के लिए Ctrl+R का उपयोग करना
bash प्रॉम्प्ट पर, Ctrl कुंजी को दबाए रखें और R दबाएं। आपको एक संदेश प्राप्त होगा जो पढ़ता है (reverse-i-search)`': उसके बाद कर्सर। किसी कमांड का पहला अक्षर टाइप करें जिसे आपने पहले जारी किया था ताकि आप उसे ढूंढ सकें। उदाहरण के लिए, यदि आपने किसी टेक्स्ट फ़ाइल की सामग्री देखने के लिए cat कमांड का उपयोग किया है, तो c दबाएं। यदि आपने किसी महीने का कैलेंडर देखने के लिए cal का उपयोग किया है, तो यह भी आ सकता है।
समान नाम वाली कमांड के माध्यम से साइकिल चलाने के लिए फिर से Ctrl+R दबाएं। यदि आपके पास एक लंबा bash इतिहास है, तो आप समान नामों वाली कई कमांड पा सकते हैं। एक बार जब आपको वह कमांड मिल जाए जिसे आप चलाना चाहते हैं, तो एंटर कुंजी दबाएं और आपका प्रॉम्प्ट ऐसा लगेगा जैसे आपने अभी इसे टाइप किया और चलाया। आपको पूरी कमांड टाइप नहीं करनी होगी बल्कि केवल एक या दो अक्षर।
आप अतीत में आपके द्वारा जारी की गई लंबी कमांड को खोजने के लिए कुछ अक्षर टाइप कर सकते हैं और यह भी कमांड लाइन पर तुरंत आ जाएगी, और फिर आप इसे सामान्य रूप से चलाने के लिए एंटर दबा सकते हैं। यह आपके इतिहास में कुछ खोजने की प्रक्रिया को बहुत आसान बनाता है। एक बार कमांड लाइन पर होने पर आप इसे चलाने से पहले तीर कुंजियों का उपयोग करके संपादित भी कर सकते हैं।
यदि आप कोई कमांड चलाने के बारे में बेहतर सोचते हैं, तो आप हमेशा Ctrl कुंजी को फिर से दबाए रख सकते हैं और Ctrl+R खोज से बाहर निकलने के लिए C दबा सकते हैं जैसे आप टर्मिनल की कमांड लाइन पर किसी और चीज से बाहर निकल सकते हैं। आप इस तकनीक का उपयोग किसी अन्य प्रकार की कमांड चलाने के बाद कर सकते हैं, और कुछ वेबसाइटें क्या पढ़ सकती हैं इसके बावजूद आपको वास्तव में इस बारे में चिंता करने की ज़रूरत नहीं है कि जब आप इसे आज़माते हैं तो आपके टर्मिनल के अंदर पहले से ही किस प्रकार का आउटपुट है।
विधि 2: एक Ctrl+R टैग जोड़ना
यदि आप किसी आमतौर पर उपयोग की जाने वाली कमांड पर बार-बार वापस जाना चाहते हैं, तो आप वास्तव में लाइन के अंत में कमांड के लिए एक नाम को कमेंट आउट करके इसमें एक टैग जोड़ सकते हैं। एक कमांड टाइप करें उसके बाद एक स्पेस और फिर उसके बाद #findme टाइप करें। एंटर दबाएं और कमांड चलाएं। शेल केवल #findme टैग को अनदेखा कर देगा क्योंकि यह प्रोग्रामिंग भाषा कमेंट के रूप में गिना जाता है।
अब, जब भी आप उस कमांड को ढूंढना चाहें, Ctrl+R दबाए रखें और #fin टाइप करना शुरू करें ताकि यह तुरंत सामने आ जाए। यदि आप एक से अधिक कमांड को इस तरह टैग करना चाहते हैं, तो बस उनके साथ टैग करने के लिए अन्य चीजें लेकर आएं। आप चाहें तो #command1, #command2 आदि आज़माना चाह सकते हैं। इस तरह आप #com टाइप कर सकते हैं और फिर कुछ बार Ctrl+R दबाकर उस कमांड को ढूंढ सकते हैं जिसे आप ढूंढ रहे हैं। यह सबसे अच्छा काम करता है यदि आपके पास एक विशाल कमांड इतिहास है। प्रत्येक टैग इतिहास में तब तक रहेगा जब तक इसे साफ़ नहीं किया जाता।
विधि 3: ksh में emacs मोड सक्षम करना
यदि आप ksh को अपने डिफ़ॉल्ट शेल के रूप में उपयोग कर रहे हैं, तो set -o emacs टाइप करें और एंटर दबाएं। यह emacs मोड को सक्षम करेगा, जो आपको Ctrl+R ट्रिक का उपयोग उसी तरह करने देगा जैसे bash अनुमति देता है। यह कभी इतना थोड़ा अलग तरीके से काम करता है, और bash शेल के उपयोगकर्ताओं को ऐसा करने की कभी आवश्यकता नहीं होगी इसलिए अधिकांश लिनक्स कोडर इस चरण को केवल अनदेखा कर सकते हैं।
जो उपयोगकर्ता ksh पसंद करते हैं वे अब Ctrl+R दबा सकते हैं और शेल स्क्रीन पर ^R प्रिंट करेगा। अपनी खोज टाइप करें और फिर एंटर दबाएं। आपको सबसे निकटतम मिलान वाली प्रविष्टि दिखाई देगी, जिसे आप एंटर को फिर से दबाकर संपादित या चला सकते हैं। वैसे, emacs कुछ अन्य विकल्पों को भी सक्षम करता है जैसे सामान्य तीर कुंजी कार्यक्षमता।
लेखक के बारे में

केविन एरोज़
केविन एरोज़ एक अत्यधिक अनुभवी और जानकार प्रौद्योगिकी विशेषज्ञ हैं जिनके पास एक दशक से अधिक का उद्योग अनुभव है। उनके पास Microsoft प्रमाणित प्रौद्योगिकी विशेषज्ञ (MCTS) प्रमाणन है और नवीनतम तकनीकी विकास से अपडेट रहने का गहरा जुनून है। केविन ने सॉफ्टवेयर विकास, साइबर सुरक्षा और क्लाउड कंप्यूटिंग जैसे क्षेत्रों में अपनी विशेषज्ञता और ज्ञान का प्रदर्शन करते हुए तकनीक से संबंधित विषयों पर व्यापक रूप से लिखा है। तकनीकी क्षेत्र में उनके योगदान को उनके साथियों द्वारा व्यापक रूप से मान्यता और सम्मान दिया गया है, और जटिल तकनीकी अवधारणाओं को स्पष्ट और संक्षिप्त तरीके से समझाने की उनकी क्षमता के लिए उन्हें उच्च सम्मान प्राप्त है।