लिनक्स में मल्टीपल कमांड कैसे चलाएं

How Run Multiple Commands Linux



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

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







$रास -NS | स्वागत किस्मत से



अर्धविराम (;) संचालिका

सेमीकोलन (;) ऑपरेटर का उपयोग एक समय में दो या दो से अधिक असंबंधित कमांड चलाने के लिए किया जाता है। इसका मतलब है कि प्रत्येक कमांड का आउटपुट अन्य कमांड पर निर्भर नहीं होता है। निम्नलिखित उदाहरण में, तीन प्रकार के कमांड एक साथ संयुक्त होते हैं और प्रत्येक कमांड की विफलता अन्य कमांड के आउटपुट पर प्रभाव नहीं डालेगी। पहला कमांड एक फाइल के कंटेंट को प्रिंट करेगा, दूसरा कमांड एक डायरेक्टरी बनाएगा और तीसरा कमांड करंट डायरेक्टरी को बदल देगा।



$बिल्लीmyfile.txt ;एमकेडीआईआरन्यूदिर;सीडीडेस्कटॉप





तार्किक और (&&) ऑपरेटर

Logical AND (&&) द्वारा चलने वाले कमांड पाइप (|) कमांड की तरह एक दूसरे से संबंधित होते हैं। इसलिए, यदि पिछला आदेश सफलतापूर्वक निष्पादित नहीं होगा तो अगले आदेश काम नहीं करेंगे। निम्नलिखित उदाहरण में, दो कमांड, mkdir, और rmdir को && ऑपरेटरों द्वारा संयोजित किया गया है। तो, यह mkdir कमांड सफलतापूर्वक निष्पादित करने में विफल रहा है तो rmdir कमांड निष्पादित नहीं होगा। Ls कमांड के आउटपुट के अनुसार, myDir निर्देशिका वर्तमान स्थान में पहले से मौजूद है। तो पहला आदेश निष्पादित नहीं होगा और इसके लिए दूसरा आदेश भी निष्पादित नहीं होगा।

$रास
$एमकेडीआईआरमायडिरो&& आरएमडीआईआरअस्थायी
$रास



तार्किक या (||) ऑपरेटर

लॉजिकल या (||) ऑपरेटर लॉजिकल एंड (&&) ऑपरेटर के विपरीत है। अगला कमांड निष्पादित होगा यदि पिछला कमांड निष्पादित करने में विफल रहता है। निम्नलिखित उदाहरण में तीन कैट कमांड को OR (||) ऑपरेटर के साथ जोड़ा गया है। जब आप कमांड चलाएंगे तो सबसे पहले यह cat.txt फाइल के कंटेंट को डिस्प्ले करने की कोशिश करेगा। यदि वर्तमान स्थान में ऐसी कोई फ़ाइल मौजूद नहीं है तो यह अगले आदेश को निष्पादित करने का प्रयास करेगी। आउटपुट के अनुसार, Bird.txt फ़ाइल वर्तमान स्थान पर मौजूद है और इस फ़ाइल की सामग्री प्रदर्शित होती है।

$ बिल्ली cat.txt || बिल्ली कुत्ता.txt || बिल्ली पक्षी.txt

एकाधिक ऑपरेटरों के साथ एकाधिक आदेश

आप एक समय में कई कमांड चलाने के लिए कई ऑपरेटरों का उपयोग कर सकते हैं। निम्नलिखित उदाहरण में, तीन कमांड OR (||) और AND (&&) ऑपरेटरों के साथ संयुक्त हैं। कमांड चलाने के बाद, सबसे पहले, यह वर्तमान निर्देशिका को newdir में बदल देगा यदि निर्देशिका मौजूद है। यदि यह कमांड विफल हो जाता है तो यह दूसरी कमांड को निष्पादित करके निर्देशिका बनाएगा और संदेश को प्रिंट करेगा, निर्देशिका बनाई गई है। आउटपुट के अनुसार, newdir निर्देशिका वर्तमान स्थान में मौजूद नहीं है। तो, त्रुटि संदेश प्रदर्शित होता है और निर्देशिका बाद में बनाई जाती है।

$सीडीन्यूडिर|| एमकेडीआईआरन्यूडिर&& फेंक दिया 'निर्देशिका बनाई गई है'

संयोजन ऑपरेटर {}

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

$[ -डीअस्थायी] || { एमकेडीआईआरअस्थायी;फेंक दियाअस्थायी निर्देशिका अब बनाई गई है .;} && रास

वरीयता ऑपरेटर ()

आप इस ऑपरेटर का उपयोग निष्पादन के समय कमांड को समूहीकृत करने के लिए कर सकते हैं। यहां प्रत्येक समूह एकल कार्य के रूप में कार्य करेगा। निम्नलिखित उदाहरण में, दो कमांड समूह परिभाषित हैं और यदि पहला समूह निष्पादित करने में विफल रहता है तो दूसरा समूह निष्पादित करेगा।

$(सीडीअस्थायी&& रास-प्रति) || (एमकेडीआईआरअस्थायी&& रास)

निष्कर्ष

इस ट्यूटोरियल ने लिनक्स में कई कमांड चलाने के लिए ज्यादातर इस्तेमाल किए जाने वाले ऑपरेटरों को समझाया। लेकिन बैश में कई अन्य ऑपरेटर मौजूद हैं जिनका उपयोग दो या दो से अधिक कमांड को एक साथ चलाने के लिए किया जाता है। ये एम्परसेंड (&), रीडायरेक्शन (,>>), लॉजिकल नॉट (!), कॉम्बिनेशन ({}) आदि हैं।