मॉड्यूल पाठ (1/2)
आउटपुट और रीडायरेक्ट (इको, कैट, >)
लिनक्स में, लगभग सभी कमांड इनपुट स्ट्रीम से डेटा पढ़ते हैं और आउटपुट स्ट्रीम पर परिणाम लिखते हैं। इन चैनलों को मानक स्ट्रीम कहा जाता है:
- मानक इनपुट (स्टडिन): वह स्ट्रीम जिससे कमांड अपना इनपुट पढ़ता है (डिफ़ॉल्ट कीबोर्ड है)।
- मानक आउटपुट (स्टडआउट): वह स्ट्रीम जिस पर कमांड अपना सफल आउटपुट लिखता है (डिफ़ॉल्ट टर्मिनल स्क्रीन है)।
- मानक त्रुटि (stderr): वह स्ट्रीम जिस पर कमांड अपने त्रुटि संदेश लिखता है (डिफ़ॉल्ट स्क्रीन है)।
कमांड लाइन का उपयोग करके, हम परिणामों को सीधे फाइलों में सहेजने के लिए इन स्ट्रीम को रीडायरेक्ट कर सकते हैं।
मुद्रण पाठ: echo
echo कमांड बस अपने मानक आउटपुट (स्क्रीन) पर अपने तर्क लिखता है:
echo "Hello everyone"पुनर्निर्देशन आउटपुट (ओवरराइट): >
यदि आप किसी कमांड के आउटपुट को स्क्रीन पर प्रदर्शित करने के बजाय फ़ाइल में सहेजना चाहते हैं, तो आप ग्रेटर-दैन रीडायरेक्ट ऑपरेटर > का उपयोग कर सकते हैं:
echo "Hello everyone" > greetings.txtयह कमांड echo चलाता है और इसके आउटपुट को फ़ाइल greetings.txt पर रीडायरेक्ट करता है।
[!महत्वपूर्ण] यदि फ़ाइल
greetings.txtमौजूद नहीं है, तो इसे बनाया जाता है। यदि यह पहले से मौजूद है, तो इसकी मौजूदा सामग्री पूरी तरह से हटा दी जाती है और नए आउटपुट के साथ अधिलेखित कर दी जाती है।
फ़ाइल सामग्री पढ़ना: cat
एक या अधिक टेक्स्ट फ़ाइलों की सामग्री को तुरंत देखने के लिए, cat कमांड (concatatenet का संक्षिप्त रूप) का उपयोग करें:
cat greetings.txtसंलग्न आउटपुट: >>
यदि आप किसी मौजूदा फ़ाइल को ओवरराइट करने के बजाय उसके अंत में नई लाइनें जोड़ना चाहते हैं, तो आपको एपेंड ऑपरेटर >> का उपयोग करना होगा:
echo "New line of text" >> greetings.txtअब, फ़ाइल को cat greetings.txt के साथ पढ़ने पर पहली पंक्ति और दूसरी पंक्ति दोनों दिखाई देंगी।
उपयोग के उदाहरण और सामान्य त्रुटियाँ
आप उन्हें क्रमिक रूप से (संक्षिप्त) प्रदर्शित करने के लिए एक ही समय में cat पर एकाधिक फ़ाइलें पास कर सकते हैं:
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.आप > ऑपरेटर का उपयोग करके संयुक्त आउटपुट को तीसरी फ़ाइल पर रीडायरेक्ट कर सकते हैं:
cat notes.txt info.txt > combined.txtयदि आप ऐसी फ़ाइल को पढ़ने का प्रयास करते हैं जो मौजूद नहीं है, तो cat एक त्रुटि संदेश लिखेगा:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryखुद कोशिश करना
अभ्यास 1: अभिवादन के साथ एक फ़ाइल बनाएँ
इको और > ऑपरेटर का उपयोग करके 'hello.txt' नामक एक फ़ाइल बनाएं जिसमें बिल्कुल 'हैलो वर्ल्ड' टेक्स्ट हो।
संकेत दिखाएँ
उद्धरण, > ऑपरेटर और hello.txt में स्ट्रिंग के बाद इको का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है
अभ्यास 2: नोट्स को फ़ाइल में जोड़ें
मौजूदा 'notes.txt' फ़ाइल की वर्तमान सामग्री को हटाए बिना उसके अंत में 'लिनक्स मज़ेदार है' पंक्ति जोड़ें।
संकेत दिखाएँ
Notes.txt फ़ाइल में टेक्स्ट जोड़ने के लिए >> ऑपरेटर का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है
अभ्यास 3: फ़ाइलों को संयोजित करें
'notes.txt' और 'info.txt' फ़ाइलों की सामग्री को संयोजित करें और संयुक्त आउटपुट को 'combined.txt' नामक एक नई फ़ाइल में सहेजें।
संकेत दिखाएँ
दो स्रोत फ़ाइलों के नाम के बाद cat का उपयोग करें और आउटपुट को > के साथ गंतव्य फ़ाइल पर रीडायरेक्ट करें।
3 प्रयासों के बाद समाधान उपलब्ध है