मुख्य सामग्री पर जाएं
मॉड्यूल 3 · पाठ 1 का 2पाठ्यक्रम में 6/11~15 min
मॉड्यूल पाठ (1/2)

आउटपुट और रीडायरेक्ट (इको, कैट, >)

लिनक्स में, लगभग सभी कमांड इनपुट स्ट्रीम से डेटा पढ़ते हैं और आउटपुट स्ट्रीम पर परिणाम लिखते हैं। इन चैनलों को मानक स्ट्रीम कहा जाता है:

  • मानक इनपुट (स्टडिन): वह स्ट्रीम जिससे कमांड अपना इनपुट पढ़ता है (डिफ़ॉल्ट कीबोर्ड है)।
  • मानक आउटपुट (स्टडआउट): वह स्ट्रीम जिस पर कमांड अपना सफल आउटपुट लिखता है (डिफ़ॉल्ट टर्मिनल स्क्रीन है)।
  • मानक त्रुटि (stderr): वह स्ट्रीम जिस पर कमांड अपने त्रुटि संदेश लिखता है (डिफ़ॉल्ट स्क्रीन है)।

कमांड लाइन का उपयोग करके, हम परिणामों को सीधे फाइलों में सहेजने के लिए इन स्ट्रीम को रीडायरेक्ट कर सकते हैं।


मुद्रण पाठ: echo

echo कमांड बस अपने मानक आउटपुट (स्क्रीन) पर अपने तर्क लिखता है:

Bash
echo "Hello everyone"

पुनर्निर्देशन आउटपुट (ओवरराइट): >

यदि आप किसी कमांड के आउटपुट को स्क्रीन पर प्रदर्शित करने के बजाय फ़ाइल में सहेजना चाहते हैं, तो आप ग्रेटर-दैन रीडायरेक्ट ऑपरेटर > का उपयोग कर सकते हैं:

Bash
echo "Hello everyone" > greetings.txt

यह कमांड echo चलाता है और इसके आउटपुट को फ़ाइल greetings.txt पर रीडायरेक्ट करता है।

[!महत्वपूर्ण] यदि फ़ाइल greetings.txt मौजूद नहीं है, तो इसे बनाया जाता है। यदि यह पहले से मौजूद है, तो इसकी मौजूदा सामग्री पूरी तरह से हटा दी जाती है और नए आउटपुट के साथ अधिलेखित कर दी जाती है।


फ़ाइल सामग्री पढ़ना: cat

एक या अधिक टेक्स्ट फ़ाइलों की सामग्री को तुरंत देखने के लिए, cat कमांड (concatatenet का संक्षिप्त रूप) का उपयोग करें:

Bash
cat greetings.txt

संलग्न आउटपुट: >>

यदि आप किसी मौजूदा फ़ाइल को ओवरराइट करने के बजाय उसके अंत में नई लाइनें जोड़ना चाहते हैं, तो आपको एपेंड ऑपरेटर >> का उपयोग करना होगा:

Bash
echo "New line of text" >> greetings.txt

अब, फ़ाइल को cat greetings.txt के साथ पढ़ने पर पहली पंक्ति और दूसरी पंक्ति दोनों दिखाई देंगी।


उपयोग के उदाहरण और सामान्य त्रुटियाँ

आप उन्हें क्रमिक रूप से (संक्षिप्त) प्रदर्शित करने के लिए एक ही समय में cat पर एकाधिक फ़ाइलें पास कर सकते हैं:

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

आप > ऑपरेटर का उपयोग करके संयुक्त आउटपुट को तीसरी फ़ाइल पर रीडायरेक्ट कर सकते हैं:

Bash
cat notes.txt info.txt > combined.txt

यदि आप ऐसी फ़ाइल को पढ़ने का प्रयास करते हैं जो मौजूद नहीं है, तो cat एक त्रुटि संदेश लिखेगा:

Bash
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directory

खुद कोशिश करना

अभ्यास 1: अभिवादन के साथ एक फ़ाइल बनाएँ

व्यायाम#linux.m3.l1.e1
प्रयास: 0लोड हो रहा है...

इको और > ऑपरेटर का उपयोग करके 'hello.txt' नामक एक फ़ाइल बनाएं जिसमें बिल्कुल 'हैलो वर्ल्ड' टेक्स्ट हो।

संपादक लोड हो रहा है...
संकेत दिखाएँ

उद्धरण, > ऑपरेटर और hello.txt में स्ट्रिंग के बाद इको का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है

अभ्यास 2: नोट्स को फ़ाइल में जोड़ें

व्यायाम#linux.m3.l1.e2
प्रयास: 0लोड हो रहा है...

मौजूदा 'notes.txt' फ़ाइल की वर्तमान सामग्री को हटाए बिना उसके अंत में 'लिनक्स मज़ेदार है' पंक्ति जोड़ें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

Notes.txt फ़ाइल में टेक्स्ट जोड़ने के लिए >> ऑपरेटर का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है

अभ्यास 3: फ़ाइलों को संयोजित करें

व्यायाम#linux.m3.l1.e3
प्रयास: 0लोड हो रहा है...

'notes.txt' और 'info.txt' फ़ाइलों की सामग्री को संयोजित करें और संयुक्त आउटपुट को 'combined.txt' नामक एक नई फ़ाइल में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

दो स्रोत फ़ाइलों के नाम के बाद cat का उपयोग करें और आउटपुट को > के साथ गंतव्य फ़ाइल पर रीडायरेक्ट करें।

3 प्रयासों के बाद समाधान उपलब्ध है