मैं इसे निष्पादित किए बिना कमांड इतिहास से एक विशिष्ट कमांड को कैसे याद कर सकता हूं


13

उदाहरण के लिए, bash में मैं टाइप कर सकता हूं !xyzजो कि अंतिम कमांड चलाएगा जिसके साथ मैंने शुरुआत की थी xyz

मैं उस अंतिम कमांड को कैसे ला सकता हूं जिसे मैंने शुरुआत के साथ टाइप किया है, xyzलेकिन इसे निष्पादित किए बिना?
उदाहरण के लिए इसलिए मैं निष्पादन से पहले मापदंडों को बदल सकता हूं ...।

जवाबों:


20

आप इसे इस तरह कर सकते हैं: कमांड प्रॉम्प्ट पर Ctrl+ rऔर फिर वह कमांड टाइप करें जिसे आप याद करना चाहते हैं, अपने मामले में xyz। यह आपको इसे निष्पादित किए बिना पूरी कमांड दिखाएगा।


1
!नोटेशन से अधिक उपयोगी है , क्योंकि आप मिलान इतिहास में आगे बढ़ने के लिए कई बार Ctrl-r दबा सकते हैं। जब आप उचित स्थान पर पहुँचते हैं, तो आप Enter के साथ नहीं बल्कि Ctrl-o के साथ अधिक लाभ के लिए निष्पादित करने का प्रयास कर सकते हैं।
कुबंज़िक

12

कोशिश करो !xyz:p; यह इसे निष्पादित किए बिना इतिहास के शीर्ष पर कमांड को याद करेगा, इसलिए उदाहरण के लिए एरो-तीर तुरंत इसे इंटरैक्टिव एडिटिंग के लिए एक्सेस कर सकता है।

एक अलग रूप में के रूप में, मैं यह कर रहा है जब एक regexp साथ आदेशों क़यास हानिकारक कुछ की खुदाई कर सकता है को याद करते हुए, कभी जल्दबाजी के बाद का अभ्यास करना !r, सबसे हाल ही में याद करने का इरादा rsync ...आदेश, खींच लिया वापस और मार डाला एक rm *है कि ढेर करने के लिए धकेल दिया गया rsync से अधिक हाल ही में।


धन्यवाद, यह एक अच्छा अभ्यास है। मैंने rm -rf ./*एक अवधि के लिए कभी भी कृतज्ञता के साथ ऐसा नहीं किया है। FYI करें !xyz:pकाम किया, थैंक्यू, लेकिन ctrl-r समाधान की तुलना में कुछ अतिरिक्त कीस्ट्रोक्स की आवश्यकता थी।
मैटल देव

@MtlDev हाँ; मुझे लगता है कि आर समाधान EMACSआई लोगों के लिए सबसे अच्छा काम करता है , जबकि! -पाथ viमेरे जैसे ऑल्टर्स के लिए सबसे अच्छा काम करता है।
मैडहेटर

1
  1. निम्न आदेश निष्पादित करें। यह अंतिम निष्पादित कमांड को प्रतिध्वनित करेगा। आप कमांड को कॉपी और एडिट कर सकते हैं। यह आदेश डेबियन में परीक्षण किया गया।

    इतिहास | पूंछ -2 | grep -v इतिहास | कट -d '' -f4-

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


1
पहली आज्ञा इतनी चिकनी !! मुझे लगता है कि इतिहास में कमांड के बाद यह सब देखने की तुलना में तेज है ^ __ ^
ग्रेज्डेनु एलेक्स।

1

यदि रिवर्स इतिहास खोज विफल रही, तो कुछ भी करें:

$ history | grep WHAT_YOU_LOOK_FOR

या:

$ grep WHAT_YOU_LOOK_FOR ~/.bash_history
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.