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

इतिहास

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

स्थापना

अब जब आप Zsh के बारे में अधिक जानते हैं, तो इसे इंस्टॉल करें। उबंटू के लिए, स्थापना काफी सरल है:

 sudo apt- zsh स्थापित करें 

अन्य वितरणों के लिए, यह आपके भंडारों में भी उपलब्ध होना चाहिए। सबसे खराब मामले में, आधिकारिक पृष्ठ से पैकेज डाउनलोड करें।

पैकेज स्थापित होने के बाद, आप आदेश के माध्यम से किसी भी टर्मिनल से एक Zsh शैल लॉन्च कर सकते हैं:

 zsh 

यदि आपको वास्तव में यह खोल पसंद है और इसे अपने वर्तमान को प्रतिस्थापित करना चाहते हैं, तो आप इसे टाइप करके कर सकते हैं

 sudo usermod -s / bin / zsh [उपयोगकर्ता नाम] 

ध्यान दें कि सामान्य रूप से, कॉन्फ़िगरेशन फ़ाइल "~ / .zshrc" पर है और इसे पहले लॉन्च पर बनाया जाएगा। बैश के समान ही, इसका उपयोग उपनाम जोड़ने और प्रॉम्प्ट को वैयक्तिकृत करने के लिए किया जा सकता है।

प्रयोग

ज़श बहुत सहज है। सबसे पहले, आपको बैश के साथ व्यवहार में कोई अंतर नहीं दिखना चाहिए। हालांकि, पहली सुविधा को स्पॉट करने का एक अच्छा तरीका टाइप करना है:

 आरएम - [सारणी कुंजी] 

और उसके बाद सारणी कुंजी का उपयोग करें। यह "आरएम" कमांड के लिए सभी संभावित तर्क प्रदर्शित करेगा। जैसा कि आप देख सकते हैं, स्वत: पूर्णता Zsh के साथ अविश्वसनीय है।

न केवल कमांड के तर्क, बल्कि एसएसएच मेजबान / etc / hosts में प्रस्तुत करते हैं, "मेक" कमांड के लिए संभावित लक्ष्य, मैन्युअल पेज, दूरस्थ सर्वर पर फ़ाइलें इत्यादि, सभी को Zsh द्वारा स्वतः पूर्ण किया जा सकता है। और स्वत: पूर्णता गति भी प्रभावशाली है।

आप गलत आदेश टाइप करने का भी प्रयास कर सकते हैं

 gdit .zshrc 

और यह सुधार सुविधा को ट्रिगर करेगा:

अगर सुधार पहले काम नहीं करता है, तो इसका मतलब है कि आपने इसे अभी तक सक्रिय नहीं किया है। ऐसा करने के लिए, बस टाइप करें:

 सही सेट अप करें 

सुधार एकमात्र विकल्प नहीं है जिसे आप सक्रिय कर सकते हैं। "Setopt" कमांड के बाद, आप भी इसका उपयोग कर सकते हैं

  • बीप : एक त्रुटि होने पर एक बीप ध्वनि खेलने के लिए
  • hist_ignore_all_dups : उसी आदेश को इतिहास में दो बार दर्ज होने से रोकने के लिए
  • auto_cd : बस अपना नाम टाइप करके किसी निर्देशिका में स्थानांतरित करने के लिए (अब सीडी कमांड की आवश्यकता नहीं है)

इसके विपरीत, यदि आप कोई विकल्प हटाना चाहते हैं, तो वाक्यविन्यास यह है:

 अनसेट [विकल्प] 

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

 आरएम ** / foobar 

Zsh वर्तमान निर्देशिका में foobar फ़ाइल की खोज करेगा, और प्रत्येक उप-निर्देशिका में, जब तक यह इसे हटा नहीं देता है।

एक विशेष प्रकार की फ़ाइल खोजते समय रिकर्सिव ऑपरेटर वास्तव में उपयोगी हो सकता है। "एलएस" कमांड और रेगेक्स के संयोजन का उपयोग करना संभव है। एक साधारण कमांड की तरह

 एलएस ** / * एमपी 3 

उन सभी एमपी 3 फ़ाइलों को वापस कर देगा जो Zsh वर्तमान निर्देशिका से रिकर्सिव पा सकते हैं।

अंत में, चलिए Zsh की कॉन्फ़िगरेशन के बारे में थोड़ा बात करते हैं। जैसा कि आप जानते हैं, यह ~ / .zshrc में होता है। यदि आप कुछ व्यक्तिगत संकेतों को आजमा देना चाहते हैं, तो ज़श कुछ सहेजे गए विषयों के साथ आता है। यह देखने के लिए कि कौन सा उपलब्ध है, प्रॉम्प्ट सिस्टम को लोड करें

 autoload -U promptinit promptinit 

और उसके बाद विषयों को सूचीबद्ध करें:

 प्रॉम्प्ट -एल 

और अपने वर्तमान संकेत को बदलने के लिए, टाइप करें

 संकेत [विषय का नाम] 

यदि आपने बैश में बहुत सारे उपनाम बनाए हैं, तो वे zsh में काम नहीं करेंगे। आपको उन्हें ~ / .zsh फ़ाइल पर पोर्ट करना होगा। मूल वाक्यविन्यास बैश के समान है:

 उपनाम [उपनाम 'नाम] = "[आदेश]" 

इसके अतिरिक्त, आप फ़ाइल एक्सटेंशन के लिए एक विशिष्ट उपनाम भी परिभाषित कर सकते हैं। यह आपको इच्छित फ़ाइल के लिए स्वचालित आदेश को स्वचालित रूप से लॉन्च करने की अनुमति देता है। उदाहरण के लिए, मैं कमांड लाइन से एमपी 3 चलाने के लिए प्रोग्राम "mpg123" का उपयोग करता हूं। इसलिए, मैं अपने .zshrc में जोड़ सकता हूं:

 उपनाम- एमपी 3 = "एमपीजी 123" 

वहां से, हर बार जब मैं कुछ लिखता हूं

 ./song.mp3 

एमजीपी 123 लॉन्च और गीत चलाएगा। थोड़ी सी कल्पना के साथ, हम कमांड लाइन से अभिलेखागार के साथ सौदे पर अपने पिछले लेख के साथ इस कार्यक्षमता को जोड़ सकते हैं:

 उपनाम- tar = "tar -xvf" उपनाम-रार = "unrar x" उपनाम -s ज़िप = "unzip" alias -s pdf = "evince" 

निष्कर्ष

हां, ज़श और बैश बहुत समान हैं, लेकिन zsh अधिक लचीला है जो इसे और अधिक लोकप्रिय बनाता है। व्यक्तिगत रूप से, मैं वास्तव में स्वत: पूर्णता सुविधा और फ़ाइल एक्सटेंशन के लिए उपनाम की सराहना करता हूं। उपरोक्त उल्लिखित युक्तियों में केवल एक छोटा सा हिस्सा शामिल है जो zsh कर सकता है। ज़श के बारे में और जानने के लिए, मैं आपको आर्कलिनक्स विकी पढ़ने के लिए आमंत्रित करता हूं।

आप जेश शैल के बारे में क्या सोचते हैं? क्या आपने एक और कोशिश की है? क्या आपके पास सामान्य रूप से गोले से संबंधित कोई प्रश्न है? कृपया टिप्पणियों में हमें बताएं।