लिनक्स में बैश शेल का उपयोग करके खुश हैं? या आप किसी विकल्प को आजमाना पसंद करेंगे? चुनने के लिए tsch, fish, CornShell और Z Shell हैं। लेकिन इनमें से कौन सा लोकप्रिय Linux शेल सबसे अच्छा है?
Linux शेल क्या है?
आमतौर पर, जब आप कोई एप्लिकेशन लिखते हैं, तो वह उच्च-स्तरीय भाषा में किया जाता है जिसे मनुष्य समझ सकते हैं। इनके उदाहरण C#, Java, C++, आदि हैं। मानो या न मानो, आपका कंप्यूटर हर चीज को 1s के रूप में 0s या, जैसा कि आमतौर पर जाना जाता है, बाइनरी या मशीन कोड के रूप में देखता है।
एक कंपाइलर तब उच्च-स्तरीय भाषा को एक निष्पादन योग्य की तरह बाइनरी फ़ाइल में अनुवाद करेगा। यह बाइनरी फ़ाइल वह है जिसे आप उक्त एप्लिकेशन को लॉन्च करने के लिए निष्पादित करते हैं।
अब, क्या होता है, यह एक बहुत ही उच्च-स्तरीय दृष्टिकोण है; बस याद रखें, आपके कंप्यूटर को एक अनुवाद परत की आवश्यकता है। आप इसे क्या करने के लिए कह रहे हैं और यह इसे कैसे समझ सकता है, के बीच यह बैठता है।
एक शेल वह है जिसे दुभाषिया के रूप में जाना जाता है। एक कंपाइलर के समान, एक दुभाषिया मानव कोड को मशीन कोड में अनुवादित करता है। अंतरों में से एक यह है कि एक दुभाषिया एक समय में एक ही कथन करता है। इस बीच, एक कंपाइलर पूरे प्रोग्राम को स्कैन करता है और इसे मशीन कोड में ट्रांसलेट करता है।
शेल, तब, आपके ऑपरेटिंग सिस्टम (OS) के साथ इंटरैक्ट करने के लिए एक इंटरफ़ेस है। जैसे ही आप शेल में कमांड टाइप करते हैं, यह उन कमांड की व्याख्या करने और जादू करने के लिए जिम्मेदार होता है। फाइलों की प्रतिलिपि बनाना, पाइपिंग करना, फाइलों को सूचीबद्ध करना जैसे संचालन सभी एक शेल के दायरे में हैं।
कई लिनक्स गोले उपलब्ध हैं। आपके सिस्टम पर उपलब्ध सभी शेल का पता लगाने के लिए, टर्मिनल खोलें और टाइप करें:
cat /etc/shells
यह पता लगाने के लिए कि आप वर्तमान में किस प्रकार के शेल का उपयोग कर रहे हैं:
echo $0
लेकिन क्या आप सर्वश्रेष्ठ लिनक्स शेल का उपयोग कर रहे हैं? आइए देखें कि क्या उपलब्ध है।
1. बैश
यह एक मील से लिनक्स उपयोगकर्ताओं के बीच सबसे लोकप्रिय शेल है। बॉर्न-अगेन शेल (बैश) के समीकरण का हिस्सा होने के बिना गोले के बारे में सोचना भी मुश्किल है। कई लिनक्स वितरण डिफ़ॉल्ट शेल के रूप में बैश के साथ शिप करते हैं क्योंकि बैश डिफ़ॉल्ट जीएनयू शेल है। 1989 में रिलीज़ हुई, इसके पीछे कुछ दशकों के स्वस्थ विकास का भी दावा है।
बैश का पूर्ववर्ती द बॉर्न शेल (श) है जो मूल यूनिक्स शेल में से एक है। प्रोग्रामर्स के लिए एक आकर्षक विशेषता यह थी कि वे पूरी तरह से अपरिवर्तित बैश करने के लिए अपनी स्क्रिप्ट को सीधे पोर्ट कर सकते थे। बैश अपने पूर्ववर्ती के लिए कई संवर्द्धन भी प्रदान करता है:
- कमांड पूरा करना
- कमांड इतिहास
अक्सर ऑनलाइन दस्तावेज मान लेंगे कि आप बैश का उपयोग कर रहे हैं। हालाँकि, यह इसकी कमियों के बिना नहीं है --- जैसा कि कोई भी जिसने कभी बैश स्क्रिप्ट लिखी है, वह प्रमाणित कर सकता है! ऐसा नहीं है कि आप कुछ नहीं कर सकते, यह है कि पढ़ने और लिखने के लिए हमेशा विशेष रूप से सुरुचिपूर्ण नहीं होता है।
2. कॉर्नशेल
आमतौर पर ksh के रूप में जाना जाता है, कॉर्नशेल एक लोकप्रिय वैकल्पिक लिनक्स शेल है जिसकी उत्पत्ति 1980 के दशक में बेल लैब्स से हुई थी। बैश और ksh के बीच बहुत अंतर नहीं हैं, लेकिन प्रत्येक के दूसरे पर मामूली फायदे हैं। उदाहरण के लिए, Ksh के पास cd old new कमांड है। यदि आप निर्देशिका में थे /डाउनलोड/foo/bar/one/foobar और आपको /Downloads/foo/bar/two/foobar . पर जाना होगा आपको बस दर्ज करने की आवश्यकता है:
cd one two
ksh के वयोवृद्ध इसके पटकथा लाभों का उल्लेख करके इसकी श्रेष्ठता की वकालत करेंगे। इनमें शामिल हैं:
- बेहतर लूप सिंटैक्स
- आदेशों को दोहराने के प्राकृतिक तरीके
- सहयोगी सरणियाँ
बैश के विपरीत, ksh के लिए ऑनलाइन सहायता प्राप्त करना कठिन है। यदि आप ksh को आजमाना चाहते हैं तो आप दर्ज करें:
sudo apt install ksh
ksh
3. Tcsh
Tcsh अपनी जड़ें वापस यूनिक्स के शुरुआती दिनों में खोज सकता है। यह C शेल (csh) और सुविधाओं का एक उन्नत संस्करण है:
- प्रोग्राम करने योग्य कमांड-लाइन पूर्णता
- कमांड-लाइन संपादन
- उपनामों में तर्क जोड़ना
- आसान कमांड इतिहास एक्सेस
आप !n . लिखकर कोई भी कमांड चला सकते हैं प्रदर्शित इतिहास में n को उसकी संगत संख्या से प्रतिस्थापित करना। tcsh में इतिहास टैब पूर्णता टाइप करके काम करता है:
!a<TAB>
यह अंतिम कमांड तक फैलता है जो "ए" अक्षर से शुरू होता है। तुलनात्मक रूप से, बैश में, आपको !a:p . टाइप करना होगा पहले कमांड देखने के लिए, उसके बाद !! इसे निष्पादित करने के लिए।
tcsh को आजमाने के लिए, टाइप करें:
sudo apt install tcsh
tcsh
Tcsh BSD आधारित सिस्टम जैसे FreeBSD के लिए डिफ़ॉल्ट शेल है। tcsh के लिए बड़ा विक्रय बिंदु इसकी स्क्रिप्टिंग भाषा है, जो किसी के लिए भी उपयोगी है जो मुख्य रूप से C में प्रोग्रामिंग कर रहा है। यह tcsh को छोटे C प्रोग्रामों के प्रोटोटाइप के लिए उपयोगी बनाता है, बिना इस बात पर भ्रमित हुए कि आप किन कोष्ठकों का उपयोग कर रहे हैं। यदि आप लगातार C प्रोग्रामिंग और शेल स्क्रिप्टिंग के बीच स्विच कर रहे हैं तो यह समस्या उत्पन्न होती है।
4. मछली
लिनक्स की सभी गंभीरता के बीच, मछली की टीम ने अपने प्रोजेक्ट में हास्य की भावना को शामिल किया है। उनकी वेबसाइट पर, टंग-इन-गाल शीर्षक "आखिरकार, 90 के दशक के लिए एक कमांड लाइन शेल" पढ़ता है, हालांकि मछली ("f रींडली मैं इंटरएक्टिव श ell") को 2005 में विकसित किया गया था। तथाकथित "ग्लोरियस वीजीए कलर" से परे, अन्य शेल्स की तुलना में कुछ एन्हांसमेंट हैं:
- अमान्य सिंटैक्स वाले कमांड लाल रंग में प्रदर्शित होते हैं
- सही सिंटैक्स नीले रंग में दिखाई देता है
- सुझावों को स्वतः पूर्ण करें
- आपकी मशीन पर मैन पेज के आधार पर कमांड पूरा करना।
यह सुविधा आपके नए इंस्टॉल किए गए सॉफ़्टवेयर के मैन पेज से सिंटैक्स को आपके स्वतः पूर्ण सुझावों में जोड़ती है। यदि आप कमांड लाइन से अधिक परिचित होना चाहते हैं, तो मछली शुरू करने के लिए एक बेहतरीन जगह हो सकती है।
मछली किस बारे में है इसका नमूना लेने के लिए, टाइप करें:
sudo apt install fish
fish
5. Z शेल
कई लोग इसे आखिरी के लिए सबसे अच्छा खोल छोड़ना मानेंगे, जो पूरी तरह से समझ में आता है। Zsh में बैश और ksh की समानताएं हैं और उनमें पाई जाने वाली कई विशेषताओं के साथ-साथ tcsh भी शामिल हैं। Zsh विशेषताएं:
- नेविगेट करने योग्य स्वतः पूर्णता सूची
- बेहतर वर्तनी सुधार
- कमांड लाइन का पूरा होना
- टर्मिनलों पर साझा किया गया इतिहास
- ग्लोबिंग (फ़ाइल नाम के लिए वाइल्डकार्ड वर्ण)
zsh में ग्लोबिंग बहुत उपयोगी है। टाइपिंग:
vim /u/l/b/a<TAB>
फ़ाइल खोलेगा:
/usr/local/bin/autoupdate.sh
यदि आप डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ नहीं जाते हैं तो Zsh को पहले उपयोग पर कॉन्फ़िगर करने में कुछ समय लग सकता है। इसे आज़माने के लिए, दर्ज करें:
sudo apt install zsh
zsh
कौन सा Linux शेल मेरे लिए सबसे अच्छा है?
तथ्य यह है कि ये विकल्प उपलब्ध हैं शानदार है। प्रत्येक कंप्यूटिंग इतिहास में एक झलक है, जहां प्रोग्रामर ने फैसला किया कि वे चीजों को अपने तरीके से बनाना चाहते हैं।
इन गोले के बीच पर्याप्त अंतर स्क्रिप्टिंग सिंटैक्स में पाया जा सकता है। प्रत्येक खोल में बारीकियों का एक विशेष सेट होता है जो उन्हें एक दूसरे से अलग करता है। जैसा कि यह खड़ा है, बाजार हिस्सेदारी के मामले में बैश हावी है, जिससे मदद ढूंढना बहुत आसान हो जाता है। बैश केवल सबसे अच्छा ऑलराउंडर है, जो सबसे उन्नत उपयोगकर्ताओं को छोड़कर सभी की जरूरतों को पूरा करता है।
जब आप एक Linux शेल पर बस गए हैं, तो सुनिश्चित करें कि आप शेल स्क्रिप्टिंग की मूल बातों से परिचित हैं।