इन .inputrc संशोधनों के साथ कमांड लाइन इतिहास खोज में सुधार करें

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

पहली दो पंक्तियां आपको किसी विशिष्ट कमांड के लिए कमांड इतिहास के माध्यम से फ़्लिप करने के लिए तीर कुंजियों का उपयोग करने की अनुमति देती हैं, या यहां तक ​​कि केवल एक विशिष्ट कमांड की शुरुआत भी होती हैं। उदाहरण के लिए, यदि आपको "सी" के साथ शुरू किया गया आदेश याद है, लेकिन आप निश्चित नहीं हैं कि आप और क्या कर सकते हैं, तो आप बस 'c' टाइप कर सकते हैं और फिर अक्षर सी से शुरू होने वाली किसी भी चीज़ के लिए कमांड इतिहास के माध्यम से खोज शुरू करने के लिए ऊपर तीर दबा सकते हैं। यह पूर्ण आदेशों के माध्यम से खोजने के लिए भी काम करता है, ताकि आप curl टाइप करके 'curl' कमांड के लिए सभी इतिहास खोज सकें और उसके बाद ऊपर या नीचे तीर के साथ इसका अनुसरण कर सकें। तीन लाइनों का दूसरा बैच पिछले टिप से साझा किया जाता है और टर्मिनल में टैब पूर्णता क्षमताओं में काफी सुधार करता है, जिससे इतिहास में टैब पूर्णता आती है, पूरा होने में केस संवेदनशीलता को हटाया जाता है, और प्रयास पूरी तरह संदिग्ध होने पर सब कुछ देखने की क्षमता को लाता है। संयुक्त, आपकी इतिहास की खोज और टैब पूर्णता नाटकीय रूप से बेहतर हो जाएगी।

टर्मिनल लॉन्च करें, और अपनी .inputrc फ़ाइल को एक पसंदीदा टेक्स्ट एडिटर में खोलें। हम नैनो का उपयोग करेंगे क्योंकि यह बहुत उपयोगकर्ता के अनुकूल है:

nano .inputrc

निम्न पांच पंक्तियों को (संभवतः रिक्त) में चिपकाएं .inputrc फ़ाइल:

"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
TAB: menu-complete

यह इस तरह दिखना चाहिए:

फ़ाइल को सहेजने के लिए "नियंत्रण + ओ" दबाएं, फिर नैनो से बाहर निकलने के लिए + X को नियंत्रित करें।

टर्मिनल को रीफ्रेश करें या नया बनाएं और कमांड इतिहास के माध्यम से फ़्लिप करते समय तीर और टैब कुंजियों का उपयोग करते समय आप तत्काल अंतर देख पाएंगे।

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

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

तीर कुंजी इतिहास खोज चाल के लिए लाइफहेकर तक पहुंचता है, हालांकि आप एक पूर्व चाल से दूसरी .inputrc लाइनों को याद कर सकते हैं जिसे हमने कुछ समय पहले साझा किया था।