Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

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

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

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

यह भी पढ़ें: फ़ाइलों में टेक्स्ट फ़िल्टर करने के लिए अजीब और नियमित अभिव्यक्तियों का उपयोग कैसे करें

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

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

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

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

[email protected]:~$ ping ­c5 www.tecmint.com &

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

[email protected]:/home/tecmint# apt-get update & apt-get upgrade &
<एच3>2. सेमी-कोलन ऑपरेटर (;)

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

[email protected]:/home/tecmint# apt-get update ; apt-get upgrade ; mkdir test

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

<एच3>3. और ऑपरेटर (&&)

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

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

[email protected]:/home/tecmint# ping -c3 www.tecmint.com && links www.tecmint.com
<एच3>4. या ऑपरेटर (||)

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

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

[email protected]:~$ apt-get update || links tecmint.com

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

क्या होगा यदि पहला आदेश सफलतापूर्वक निष्पादित किया जाता है, बाहर निकलने की स्थिति के साथ '0 '? स्पष्टतः! दूसरा आदेश निष्पादित नहीं होगा।

[email protected]:~$ mkdir test || links tecmint.com

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

5. ऑपरेटर नहीं (!)

संचालक नहीं (! ) बहुत कुछ 'सिवाय . जैसा है ' बयान। यह आदेश प्रदान की गई शर्त को छोड़कर सभी को निष्पादित करेगा। इसे समझने के लिए, एक निर्देशिका बनाएं 'tecmint ' अपने होम डायरेक्टरी में और 'सीडी ' इसके लिए।

[email protected]:~$ mkdir tecmint 
[email protected]:~$ cd tecmint

इसके बाद 'tecmint .' फोल्डर में कई तरह की फाइलें बनाएं '।

[email protected]:~/tecmint$ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

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

[email protected]:~/tecmint$ ls 

a.doc  a.html  a.pdf  a.xml  b.doc  b.html  b.pdf  b.xml

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

[email protected]:~/tecmint$ rm -r !(*.html)

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

[email protected]:~/tecmint$ ls 

a.html  b.html
<एच3>6. AND – OR ऑपरेटर (&&– ||)

उपरोक्त ऑपरेटर वास्तव में 'AND . का एक संयोजन है ' और 'या ' ऑपरेटर। यह काफी हद तक एक 'अगर-और . जैसा है ' बयान।

उदाहरण के लिए, आइए tecmint.com . पर पिंग करें , अगर सफलता गूंजती है 'सत्यापित ' और इको 'होस्ट डाउन '।

[email protected]:~/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

अब, अपने इंटरनेट कनेक्शन को डिस्कनेक्ट करें, और फिर से उसी आदेश का प्रयास करें।

[email protected]:~/tecmint$ ping -c3 www.tecmint.com && echo "Verified" || echo "Host Down"
नमूना आउटपुट
ping: unknown host www.tecmint.com 
Host Down
<एच3>7. पाइप ऑपरेटर (|)

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

[email protected]:~$ ls -l | less

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

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

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

[email protected]:~$ [ -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 . की निकास स्थिति पर निर्भर करता है ।

<एच3>10. संयोजन संचालिका (\)

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

[email protected]:~/Downloads$ nano test\(1\).txt

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


  1. rbash - एक प्रतिबंधित बैश शेल व्यावहारिक उदाहरणों के साथ समझाया गया

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

  1. उदाहरण के साथ, लिनक्स में वॉच कमांड का उपयोग कैसे करें

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

  1. बैश शैल फंक्शन ट्यूटोरियल 6 व्यावहारिक उदाहरणों के साथ

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