लिनक्स कमांड की चेनिंग का अर्थ है, कई कमांडों को जोड़ना और उनके बीच उपयोग किए गए ऑपरेटर के व्यवहार के आधार पर उन्हें निष्पादित करना। लिनक्स में कमांड की चेनिंग, कुछ ऐसा है जैसे आप शेल में ही शॉर्ट शेल स्क्रिप्ट लिख रहे हैं, और उन्हें सीधे टर्मिनल से निष्पादित कर रहे हैं। चेनिंग प्रक्रिया को स्वचालित करना संभव बनाता है। इसके अलावा, चेनिंग ऑपरेटरों की मदद से एक अप्राप्य मशीन बहुत व्यवस्थित तरीके से काम कर सकती है।
यह भी पढ़ें: फ़ाइलों में टेक्स्ट फ़िल्टर करने के लिए अजीब और नियमित अभिव्यक्तियों का उपयोग कैसे करें
इस लेख का उद्देश्य अक्सर उपयोग किए जाने वाले कमांड-चेनिंग ऑपरेटरों . पर प्रकाश डालना है , संक्षिप्त विवरण और संबंधित उदाहरणों के साथ, जो निश्चित रूप से आपकी उत्पादकता को बढ़ाएंगे और आपको समय-समय पर सिस्टम लोड को कम करने के साथ-साथ संक्षिप्त और सार्थक कोड लिखने की सुविधा देंगे।
<एच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 . से जुड़े रहें . हमारे कमेंट सेक्शन में अपनी बहुमूल्य प्रतिक्रिया देना न भूलें।