DevOps बूटकैंप · पाठ

शेल विस्तार और ग्लॉबिंग

समझें कि शेल कमांड का विस्तार कैसे करता है, जिसमें ब्रेस विस्तार, टिल्ड विस्तार और फ़ाइलनाम ग्लॉबिंग पैटर्न शामिल हैं।

पाठ 2, कुल 4 में से12 चरण

शेल विस्तार और ग्लॉबिंग, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

शेल विस्तार क्या है

Linux में शेल आपके और ऑपरेटिंग सिस्टम के बीच अनुवादक जैसा होता है। शेल आपकी कमांड चलाने से पहले अक्सर 'विस्तार' नामक कुछ 'जादू' करता है।

शेल विस्तार का अर्थ है कि शेल आपकी कमांड में विशेष वर्णों या पैटर्न को खोजकर उन्हें किसी दूसरी चीज़ से बदल देता है। यह कमांड के वास्तव में चलने से पहले होता है, जिससे आपको कम टाइप करना पड़ता है और कमांड अधिक शक्तिशाली बनती हैं!

टिल्ड `~` से आपका होम

टिल्ड (~) विस्तार एक अत्यंत उपयोगी शॉर्टकट है। यह अपने-आप वर्तमान उपयोगकर्ता की होम डायरेक्टरी में विस्तृत हो जाता है।

/home/yourusername टाइप करने के बजाय आप केवल ~ का उपयोग कर सकते हैं। यह आपकी होम फ़ोल्डर में फ़ाइलों तक पहुँचने या उनका संदर्भ देने के लिए विशेष रूप से उपयोगी है।

echo ~
echo ~/Documents

अन्य उपयोगकर्ताओं के लिए टिल्ड

टिल्ड केवल आपकी अपनी होम डायरेक्टरी के लिए नहीं है! आप इसका उपयोग किसी अन्य उपयोगकर्ता की होम डायरेक्टरी का संदर्भ देने के लिए भी कर सकते हैं।

~username टाइप करने पर शेल इसे निर्दिष्ट 'username' की होम डायरेक्टरी में विस्तृत कर देगा। साझा फ़ाइलों या कॉन्फ़िगरेशन तक पहुँचने के लिए यह बहुत उपयोगी है।

  • ~root का विस्तार /root में होगा
  • ~guest का विस्तार /home/guest में होगा

ब्रेस विस्तार `{}`

ब्रेस विस्तार से आप मनमाने स्ट्रिंग बना सकते हैं। यह एक ही पैटर्न से कई आइटम बनाने का तेज़ तरीका है, जिसमें आपको उन्हें एक-एक करके टाइप नहीं करना पड़ता।

शेल ब्रेस के भीतर की सामग्री {} को अलग-अलग शब्दों की सूची में विस्तृत कर देगा। समान नाम वाली फ़ाइलें या डायरेक्टरी बनाने अथवा कई आइटम पर कमांड चलाने के लिए यह बहुत उपयोगी है।

echo {apple,banana,cherry}

ब्रेस की सीमाएँ

आप संख्याओं या अक्षरों के क्रम बनाने के लिए भी ब्रेस विस्तार का उपयोग कर सकते हैं। इसके लिए ब्रेस के भीतर .. से अलग किए गए दो आइटम लिखे जाते हैं।

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

echo file_{1..3}.txt
echo {a..c}_report.log

ग्लॉबिंग का परिचय

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

जब आप ls *.txt जैसी कमांड टाइप करते हैं, तो शेल *.txt को ls को नहीं भेजता। इसके बजाय, वह *.txt का विस्तार वर्तमान डायरेक्टरी में मिलने वाली सभी फ़ाइलों की सूची में करता है और फिर वह सूची ls को देता है।

`*` से सभी का मिलान

तारक चिह्न (*) सबसे सामान्य वाइल्डकार्ड है। यह फ़ाइलनाम में शून्य या अधिक वर्णों का मिलान करता है।

आप इसका उपयोग वर्णों के किसी भी क्रम से मिलान करने के लिए कर सकते हैं, इसलिए नाम के कुछ हिस्सों के आधार पर फ़ाइलें चुनने में यह अत्यंत उपयोगी है।

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

`?` से एक का मिलान

प्रश्नवाचक चिह्न (?) वाइल्डकार्ड ठीक एक वर्ण से मेल खाता है।

यह तब उपयोगी है जब आपको मिलान किए जाने वाले फ़ाइलनाम के हिस्से की सटीक लंबाई पता हो, लेकिन स्वयं वर्ण का पता न हो।

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

विशिष्ट वर्ण `[]`

आप वर्ग कोष्ठक ([]) का उपयोग करके निर्दिष्ट वर्णों के समूह में से किसी एक वर्ण का मिलान कर सकते हैं।

इससे ? की तुलना में अधिक सटीक मिलान संभव होता है। आप अलग-अलग वर्णों की सूची दे सकते हैं या कोई सीमा निर्दिष्ट कर सकते हैं (जैसे, किसी भी छोटे अक्षर के लिए [a-z] और किसी भी अंक के लिए [0-9])।

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

ग्लॉबिंग संयोजन

शक्तिशाली फ़ाइल चयन के लिए आप अलग-अलग ग्लॉबिंग पैटर्न और यहाँ तक कि ब्रेस विस्तार को भी मिला सकते हैं।

शेल इन विस्तारों को बाएँ से दाएँ संसाधित करता है और ऐसे जटिल पैटर्न बनाता है जो आपकी आवश्यकतानुसार ठीक मिलान करते हैं।

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

त्वरित जाँच

निम्न में से कौन-सी कमांड report1.doc, report2.doc और report3.doc नाम वाली फ़ाइलों की सूची दिखाएगी, लेकिन reportA.doc की नहीं?

पुनरावलोकन और अगले चरण

बहुत अच्छा! आपने सीखा कि शेल कमांड चलने से पहले ही उनका विस्तार कैसे करता है। यह 'जादू' आपके कमांड-लाइन कार्य को कहीं अधिक कुशल बनाता है।

  • टिल्ड विस्तार (~): होम डायरेक्टरी के लिए शॉर्टकट।
  • ब्रेस विस्तार ({}): कस्टम स्ट्रिंग या क्रम बनाता है।
  • ग्लॉबिंग (*, ?, []): शक्तिशाली पैटर्न-आधारित चयन के लिए वाइल्डकार्ड का उपयोग करके फ़ाइलनाम का मिलान करता है।

प्रभावी और संक्षिप्त कमांड लिखने के लिए इन विस्तारों को समझना महत्वपूर्ण है। इनका अभ्यास करते रहें!

शुरुआत निःशुल्क

एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
142
पाठ
568

अक्सर पूछे जाने वाले प्रश्न

क्या “शेल विस्तार और ग्लॉबिंग” पाठ निःशुल्क है?

हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “शेल विस्तार और ग्लॉबिंग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“शेल विस्तार और ग्लॉबिंग” में मैं क्या सीखूँगा?

समझें कि शेल कमांड का विस्तार कैसे करता है, जिसमें ब्रेस विस्तार, टिल्ड विस्तार और फ़ाइलनाम ग्लॉबिंग पैटर्न शामिल हैं। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“शेल विस्तार और ग्लॉबिंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. जॉब नियंत्रण (bg, fg, jobs)
  2. शेल विस्तार और ग्लॉबिंग
  3. उपनाम और कस्टम प्रॉम्प्ट
  4. शेल फ़ंक्शन और पुनः उपयोग योग्य अंश
← DevOps बूटकैंप पर वापस जाएँ