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

लिनक्स में टी कमांड - स्प्लिट शेल आउटपुट [उदाहरण]

टी Linux शेल/कमांड लाइन में कमांड एक एप्लिकेशन के आउटपुट को विभाजित करता है - एक फाइल और दोनों को आउटपुट भेजना STDOUT (कंसोल या कोई अन्य एप्लिकेशन)। यहां इसका उपयोग करने का तरीका बताया गया है।

टी कमांड का नाम प्लंबिंग में इस्तेमाल होने वाले टी-स्प्लिटर के लिए रखा गया है - एक पाइप जो एक ही स्रोत से पानी को दो दिशाओं में रीडायरेक्ट करता है।

टी कमांड सिंटैक्स

टी एक सरल उद्देश्य और सरल वाक्य रचना के साथ एक कमांड है:

tee OPTIONS FILE

ध्यान दें कि:

  • विकल्प नीचे दी गई तालिका से विकल्पों की एक सूची है
  • फ़ाइल उस फ़ाइल का पथ है जिसे आप चाहते हैं कि आउटपुट सहेजा जाए
  • इनपुट को पाइप या टी पर पुनर्निर्देशित करने की आवश्यकता है - अन्यथा, इसके साथ काम करने के लिए कुछ भी नहीं है
    • यह मानक इनपुट/आउटपुट को पुनर्निर्देशित करके किया जाता है - उदाहरण के लिए नीचे देखें
  • टी इसे प्रदान किए गए डेटा को दोनों FILE . में आउटपुट करेगा निर्दिष्ट के साथ-साथ STDOUT (मानक आउटपुट)
    • डिफ़ॉल्ट रूप से, यह कंसोल के लिए आउटपुट होगा, लेकिन इसे अन्य एप्लिकेशन पर भी रीडायरेक्ट किया जा सकता है

विकल्प

यहां टी . के लिए सबसे अधिक उपयोग किए जाने वाले विकल्प दिए गए हैं आदेश:

<थ> <थ>
-a, –append दिए गए FILE में संलग्न करें, अधिलेखित न करें
-i, -अनदेखा-बाधित इंटरप्ट सिग्नल पर ध्यान न दें

त्रुटियों का निदान करने के तरीके सहित अधिक विकल्पों के लिए, आप उपयोगकर्ता पुस्तिका को चलाकर देख सकते हैं:

man tee

टी कमांड उदाहरण

यहां कुछ सरल उदाहरण दिए गए हैं कि कैसे टी इस्तेमाल किया जा सकता है।

ये सभी उदाहरण गूंज . का उपयोग करते हैं कमांड, जो इसे दिए गए टेक्स्ट को आसानी से आउटपुट करता है।

कमांड से आउटपुट को नई फ़ाइल में देखें और सहेजें

गूंज . का आउटपुट कमांड को टी पर पाइप किया जाएगा, जो इसे एक फाइल में सेव करेगा और साथ ही कंसोल पर आउटपुट करेगा:

echo "hello!" | tee hello.txt

अगर फ़ाइल hello.txt मौजूद है, इसे अधिलेखित कर दिया जाएगा।

कमांड से आउटपुट को मौजूदा फ़ाइल में देखें और सहेजें

यह उदाहरण ऊपर जैसा ही है, लेकिन यह किसी मौजूदा फ़ाइल को अधिलेखित करने के बजाय उसके अंत में जोड़ देगा:

echo "hello again!" | tee -a hello.txt

एकाधिक फ़ाइलों में आउटपुट सहेजें या जोड़ें

एकाधिक फ़ाइलें निर्दिष्ट की जा सकती हैं, रिक्तियों द्वारा अलग की जा सकती हैं:

echo "hello several files!" | tee hello1.txt hello2.txt hello3.txt

रीडायरेक्ट/पाइप टी आउटपुट

टी . का मानक आउटपुट पाइप और पुनर्निर्देशित किया जा सकता है। नीचे दिया गया उदाहरण इको के आउटपुट को hello.txt में सेव कर देगा। फिर आउटपुट grep . को पास कर दिया जाएगा कंसोल पर आउटपुट के बजाय कमांड:

echo "hello!" | tee hello.txt | grep hello

उदाहरण के लिए, grep कमांड (जिसका उपयोग टेक्स्ट इनपुट खोजने के लिए किया जाता है) केवल "हैलो" शब्द के लिए टी से आउटपुट खोजता है।

व्यवधानों को अनदेखा करना

व्यवधानों को अनदेखा करना (उदाहरण के लिए कमांड को छोड़ने के लिए CTRL + C दबाने से) tee से क्लीनर आउटपुट प्राप्त हो सकता है :

echo "hello!" | tee -i hello.txt

टी का उपयोग करना साथ sudo

सुडो कमांड आपको रूट उपयोगकर्ता के रूप में रूट के रूप में लॉग इन किए बिना कमांड निष्पादित करने की अनुमति देता है और आमतौर पर इसका उपयोग किया जाता है।

निम्नलिखित स्निपेट में – sudo करता है नहीं आपको कमांड के आउटपुट को sudo . के रूप में रीडायरेक्ट करने की अनुमति देता है कमांड स्वयं पुनर्निर्देशन नहीं करता है क्योंकि यह पुनर्निर्देशन प्रतीक से पहले दिखाई देता है (> ):

sudo echo "hello!" > /root/hello.txt

...यह अनुमति त्रुटि के साथ विफल हो जाएगा क्योंकि /root निर्देशिका को रूट विशेषाधिकारों की आवश्यकता होती है, लेकिन sudo कमांड केवल इन विशेषाधिकारों को गूंज . पर लागू करता है आदेश - बाद में आने वाला पुनर्निर्देशन नहीं।

इससे निजात पाने की एक तरकीब है टी . का उपयोग करना आदेश:

echo "hello!" | sudo tee /root/hello.txt

यह काम करेगा क्योंकि इको . का आउटपुट टी . को आदेश दिया जाता है , जो है sudo . के माध्यम से प्रशासनिक विशेषाधिकारों के साथ चलाया जा रहा है - और टी आउटपुट बचाता है।


  1. मार्सेल - लिनक्स के लिए एक और आधुनिक शेल

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

  1. लिनक्स शेल प्रोग्रामिंग का गणितीय पहलू - भाग IV

    इस पोस्ट में मैं Sक्रिप्ट्स . पर चर्चा करूंगा गणितीय . से और संख्या दृष्टिकोण। हालांकि मैंने एक अधिक जटिल स्क्रिप्ट पोस्ट की है (सरल कैलकुलेटर ) पिछली पोस्ट में, लेकिन एक उपयोगकर्ता के हिस्से पर इसे समझना मुश्किल था और इसलिए मैंने आप लोगों को छोटे पैकेट में सीखने के दूसरे उपयोगी पक्ष को सीखने के लिए

  1. ls फाइलों और निर्देशिकाओं को सूचीबद्ध करने के लिए लिनक्स में कमांड

    ls लिनक्स में कमांड संभवतः उन पहले कमांडों में से एक है जिन्हें आपको कभी भी उपयोग करने की आवश्यकता होती है। इस लेख में, हम कमांड और आमतौर पर इस्तेमाल किए जाने वाले पैरामीटर्स के बारे में जानेंगे। मेरे पसंदीदा विकल्पों का सेट इस प्रकार है: ls -Zaltrh आइए प्रत्येक विकल्प को अलग-अलग देखें, और समझाएं