Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

मास्टर लिनक्स कमांड चेनिंग: व्यावहारिक उदाहरणों के साथ 10 आवश्यक ऑपरेटर्स

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

मास्टर लिनक्स कमांड चेनिंग: व्यावहारिक उदाहरणों के साथ 10 आवश्यक ऑपरेटर्स

भी पढ़ें: Awk और रेगुलर एक्सप्रेशन का उपयोग करके फ़ाइलों में टेक्स्ट फ़िल्टर कैसे करें

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

1. एम्परसेंड ऑपरेटर (&)

'&' का कार्य कमांड को बैकग्राउंड में चलाना है। बस कमांड टाइप करें उसके बाद एक व्हाइट स्पेस और '&'। आप एक ही बार में बैकग्राउंड में एक से अधिक कमांड निष्पादित कर सकते हैं।

बैकग्राउंड में एक कमांड चलाएं:

admin@wsxdn.com:~$ ping -c5 www.tecmint.com &

दो कमांड को बैकग्राउंड में, एक साथ चलाएं:

admin@wsxdn.com:/home/tecmint# apt-get update & apt-get upgrade &

2. सेमीकोलन ऑपरेटर (;)

सेमीकोलन ऑपरेटर एक ही बार में कई कमांड चलाना संभव बनाता है और कमांड का निष्पादन क्रमिक रूप से होता है।

admin@wsxdn.com:/home/tecmint# apt-get update ; apt-get upgrade ; mkdir test

उपरोक्त कमांड संयोजन पहले update निर्देश निष्पादित करेगा, फिर upgrade निर्देश और अंत में वर्तमान कार्य निर्देशिका के तहत एक 'test' डायरेक्टरी बनाएगा।

3. AND ऑपरेटर (&&)

AND ऑपरेटर (&&) दूसरी कमांड को केवल तभी निष्पादित करेगा, यदि पहली कमांड का निष्पादन सफल होता है, यानी पहली कमांड का एग्जिट स्टेटस 0 है। यह कमांड अंतिम कमांड के निष्पादन स्थिति की जांच में बहुत उपयोगी है।

उदाहरण के लिए, मैं टर्मिनल में links कमांड का उपयोग करके वेबसाइट tecmint.com पर जाना चाहता हूं, लेकिन उससे पहले मुझे जांचना होगा कि होस्ट लाइव है या नहीं।

admin@wsxdn.com:/home/tecmint# ping -c3 www.tecmint.com && links www.tecmint.com

4. OR ऑपरेटर (||)

OR ऑपरेटर (||) प्रोग्रामिंग में 'else' स्टेटमेंट की तरह है। उपरोक्त ऑपरेटर आपको दूसरी कमांड को केवल तभी निष्पादित करने की अनुमति देता है जब पहली कमांड का निष्पादन विफल होता है, यानी पहली कमांड का एग्जिट स्टेटस '1' है।

उदाहरण के लिए, मैं नॉन-रूट अकाउंट से 'apt-get update' निष्पादित करना चाहता हूं और यदि पहली कमांड विफल होती है, तो दूसरी 'links www.tecmint.com' कमांड निष्पादित होगी।

admin@wsxdn.com:~$ apt-get update || links tecmint.com

उपरोक्त कमांड में, चूंकि यूज़र को सिस्टम अपडेट करने की अनुमति नहीं थी, इसका मतलब है कि पहली कमांड का एग्जिट स्टेटस '1' है और इसलिए कमांड का अंतिम भाग 'links tecmint.com' निष्पादित हो जाता है।

क्या होगा यदि पहली कमांड एग्जिट स्टेटस '0' के साथ सफलतापूर्वक निष्पादित होती है? जाहिर है! दूसरी कमांड निष्पादित नहीं होगी।

admin@wsxdn.com:~$ mkdir test || links tecmint.com

यहां, यूज़र अपने होम डायरेक्टरी में 'test' फोल्डर बनाता है, जिसके लिए यूज़र को अनुमति है। कमांड सफलतापूर्वक निष्पादित हुई जिससे एग्जिट स्टेटस '0' मिला और इसलिए कमांड का अंतिम भाग निष्पादित नहीं हुआ।

5. NOT ऑपरेटर (!)

NOT ऑपरेटर (!) प्रोग्रामिंग में 'except' स्टेटमेंट की तरह है। यह कमांड प्रदान की गई कंडीशन को छोड़कर सभी को निष्पादित करेगा। इसे समझने के लिए, अपने होम डायरेक्टरी में 'tecmint' डायरेक्टरी बनाएं और उसमें 'cd' करें।

admin@wsxdn.com:~$ mkdir tecmint admin@wsxdn.com:~$ cd tecmint

अब, फोल्डर 'tecmint' में कई प्रकार की फ़ाइलें बनाएं।

admin@wsxdn.com:~/tecmint$ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

देखें हमने फोल्डर 'tecmint' के भीतर सभी नई फ़ाइलें बनाई हैं।

admin@wsxdn.com:~/tecmint$ ls a.doc a.html a.pdf a.xml b.doc b.html b.pdf b.xml

अब एक स्मार्ट तरीके से 'html' फ़ाइल को छोड़कर सभी फ़ाइलों को एक साथ डिलीट करें।

admin@wsxdn.com:~/tecmint$ rm -r !(*.html)

सिर्फ वेरिफाई करने के लिए, अंतिम निष्पादन। ls कमांड का उपयोग करके सभी उपलब्ध फ़ाइलों को सूचीबद्ध करें।

admin@wsxdn.com:~/tecmint$ ls a.html b.html

6. AND - OR ऑपरेटर (&& - ||)

उपरोक्त ऑपरेटर वास्तव में 'AND' और 'OR' ऑपरेटर का संयोजन है। यह 'if-else' स्टेटमेंट की तरह है।

उदाहरण के लिए, आइए tecmint.com पर पिंग करें, यदि सफल तो 'Verified' इको करें अन्यथा 'Host Down' इको करें।

admin@wsxdn.com:~/tecmint$ ping -c3 www.tecmint.com && echo "Verified" || echo "Host Down"
नमूना आउटपुट
PING www.tecmint.com (212.71.234.61) 56(84) bytes of data. 64 bytes from www.tecmint.com (212.71.234.61): icmp_req=1 ttl=55 time=216 ms 64 bytes from www.tecmint.com (212.71.234.61): icmp_req=2 ttl=55 time=224 ms 64 bytes from www.tecmint.com (212.71.234.61): icmp_req=3 ttl=55 time=226 ms --- www.tecmint.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 216.960/222.789/226.423/4.199 ms Verified

अब, अपना इंटरनेट कनेक्शन डिस्कनेक्ट करें, और वही कमांड फिर से आज़माएं।

admin@wsxdn.com:~/tecmint$ ping -c3 www.tecmint.com && echo "verified" || echo "Host Down"
नमूना आउटपुट
ping: unknown host www.tecmint.com Host Down

7. PIPE ऑपरेटर (|)

यह PIPE ऑपरेटर बहुत उपयोगी है जहां पहली कमांड का आउटपुट दूसरी कमांड के लिए इनपुट के रूप में कार्य करता है। उदाहरण के लिए, 'ls -l' के आउटपुट को 'less' में पाइपलाइन करें और कमांड का आउटपुट देखें।

admin@wsxdn.com:~$ ls -l | less

8. कमांड कॉम्बिनेशन ऑपरेटर {}

दो या अधिक कमांड को संयोजित करें, दूसरी कमांड पहली कमांड के निष्पादन पर निर्भर करती है।

उदाहरण के लिए, जांचें कि डायरेक्टरी 'bin' उपलब्ध है या नहीं, और संबंधित आउटपुट दें।

admin@wsxdn.com:~$ [ -d bin ] || { echo Directory does not exist, creating directory now.; mkdir bin; } && echo Directory exists. 

9. प्रीसिडेंस ऑपरेटर ()

ऑपरेटर प्रीसिडेंस क्रम में कमांड निष्पादित करना संभव बनाता है।

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

उपरोक्त छद्म कमांड में, क्या होगा यदि Command_x1 विफल होता है? न तो Command_x2, Command_x3, Command_x4 निष्पादित होंगे, इसके लिए हम प्रीसिडेंस ऑपरेटर का उपयोग करते हैं, जैसे:

(Command_x1 &&Command_x2) || (Command_x3 && Command_x4)

उपरोक्त छद्म कमांड में, यदि Command_x1 विफल होता है, तो Command_x2 भी विफल होता है लेकिन फिर भी Command_x3 और Command_x4 Command_x3 के एग्जिट स्टेटस के आधार पर निष्पादित होते हैं।

10. कंकेटिनेशन ऑपरेटर (\)

कंकेटिनेशन ऑपरेटर (\) जैसा कि नाम से पता चलता है, शेल में बड़ी कमांड को कई लाइनों पर जोड़ने के लिए उपयोग किया जाता है। उदाहरण के लिए, नीचे दी गई कमांड टेक्स्ट फ़ाइल test(1).txt खोलेगी।

admin@wsxdn.com:~/Downloads$ nano test\(1\).txt

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

  1. rbash: रिस्ट्रिक्टेड Bash शेल में महारत - अवधारणाएं, उपयोग और व्यावहारिक उदाहरण rbash: रिस्ट्रिक्टेड Bash शेल में महारत - अवधारणाएं, उपयोग और व्यावहारिक उदाहरण

    लिनक्स शेल सबसे आकर्षक और शक्तिशाली GNU/लिनक्स संचालित टूल में से एक है। X सहित सभी एप्लिकेशन, शेल पर बने हैं और लिनक्स शेल इतना शक्तिशाली है कि इसका उपयोग करके पूरे लिनक्स सिस्टम को सटीक रूप से नियंत्रित किया जा सकता है। लिनक्स शेल का दूसरा पहलू यह है कि यह संभावित रूप से हानिकारक हो सकता है, जब आप

  1. Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण

    Linux में watch कमांड एक काम करता है – एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहाँ इसका उपयोग कैसे करें। watch कमांड सिंटैक्स watch कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: OPTIONS नीचे दी गई तालिका से विकल्पों की

  1. Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स

    Bash शेल फ़ंक्शन्स कई UNIX / Linux कमांड्स को बाद में निष्पादन के लिए एक ही नाम का उपयोग करके समूहबद्ध करने का एक तरीका है। Bash शेल फ़ंक्शन को नियमित Unix कमांड की तरह निष्पादित किया जा सकता है। शेल फ़ंक्शन्स को किसी नई प्रक्रिया को बनाए बिना वर्तमान शेल संदर्भ में निष्पादित किया जाता है। Bash alia