विशिष्ट पिछले आदेश खोजने के लिए प्रिंट और क्वेरी कमांड इतिहास

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

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

मैक ओएस में कमांड इतिहास से विशिष्ट कमांड कैसे खोजें I

किसी विशेष कमांड के कमांड इतिहास को ट्रैक करने के लिए, आपको टर्मिनल ऐप खोलना होगा और फिर निम्न वाक्यविन्यास का उपयोग करना होगा:

history |grep "search string"

यह आपके कमांड इतिहास में "खोज स्ट्रिंग" की तलाश करेगा और केवल उन पाठों को प्रिंट करेगा जिनमें खोज टेक्स्ट शामिल होगा।

यदि आप टर्मिनल से अपरिचित हैं और आप सोच रहे हैं कि यह उपयोगी क्यों हो सकता है, तो उदाहरण लें।

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

अनंत काल के लिए पिछले निष्पादन के माध्यम से स्क्रॉल करने के लिए ऊपर तीर को मारने के बजाय, मैंने अपने कमांड इतिहास को केवल "डिफ़ॉल्ट लिखने" वाले चीज़ों को सीमित करने के लिए निम्न का उपयोग किया:

history | grep "defaults write"

यह grep के माध्यम से व्यापक 'इतिहास' कमांड के परिणामों को पास करता है ताकि केवल उन उदाहरणों को ढूंढ सकें जिनमें कमांड स्ट्रिंग में "डिफ़ॉल्ट लिखना" शामिल है, आपको एक परिणाम सूची दिखाई देगी जो इस तरह कुछ जैसा दिखता है:

$ history |grep "defaults write"
44 defaults write com.apple.iTunes full-window -1
51 defaults write com.apple.iTunes invertStoreLinks -bool YES
421 defaults write com.apple.FaceTime AutoAcceptInvitesFrom -array-add [email protected]
426 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool true
427 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool false
428 defaults write com.apple.appstore ShowDebugMenu -bool true

अब अपनी पूरी इतिहास सूची के माध्यम से खोज करने के बजाय, आपने परिणामों को संकुचित कर दिया है।

विशिष्टताओं के लिए कमांड इतिहास खोज परिशोधित

आप इतिहास खोज को विशिष्ट या विशिष्ट के रूप में अपनी इच्छानुसार बना सकते हैं। उदाहरण के लिए, अगर मुझे डिफ़ॉल्ट कमांड पता था तो मैं com.apple.iTunes से संबंधित खोज रहा था, मैं अपनी खोज को परिशोधित करने के लिए निम्न आदेश का उपयोग कर सकता था:

history |grep "defaults write com.apple.iTunes"

जो कुछ इस तरह वापस करेगा:

44 defaults write com.apple.iTunes full-window -1
51 defaults write com.apple.iTunes invertStoreLinks -bool YES

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

यदि आप मैक ओएस एक्स के आधार के बारे में सीखना पसंद करते हैं, तो हमारी कमांड लाइन युक्तियां देखें।