यह किसी भी ऑपरेटिंग सिस्टम पर लिनक्स और मैकोज़ से विंडोज 10 के उबंटू-आधारित बैश पर्यावरण पर बैश में काम करता है।
विकल्प एक: केवल एक फ़ाइल में आउटपुट रीडायरेक्ट करें
बैश रीडायरेक्शन का उपयोग करने के लिए, आप एक कमांड चलाते हैं, निर्दिष्ट करें
>
या
>>
ऑपरेटर, और तब उस फ़ाइल का पथ प्रदान करें जिसे आप आउटपुट रीडायरेक्ट करना चाहते हैं।
-
>
फ़ाइल की मौजूदा सामग्री को प्रतिस्थापित करते हुए, एक कमांड के आउटपुट को फ़ाइल में रीडायरेक्ट करता है।
-
>>
फ़ाइल की मौजूदा सामग्री में आउटपुट को जोड़कर, एक कमांड के आउटपुट को फ़ाइल में रीडायरेक्ट करता है।
तकनीकी रूप से, यह "stdout" - मानक आउटपुट को रीडायरेक्ट करता है, जो एक फ़ाइल के लिए स्क्रीन है।
यहां एक साधारण उदाहरण है।
ls
कमांड निर्देशिका और फ़ाइलों को वर्तमान निर्देशिका में सूचीबद्ध करता है। इसलिए। जब आप निम्न आदेश चलाते हैं,
ls
वर्तमान निर्देशिका में फ़ाइलों और फ़ोल्डर्स सूचीबद्ध करेगा। लेकिन यह उन्हें स्क्रीन पर प्रिंट नहीं करेगा-यह उन्हें आपके द्वारा निर्दिष्ट फ़ाइल में सहेज देगा।
ls > /path/to/file
आपको किसी मौजूदा फ़ाइल का पथ निर्दिष्ट करने की आवश्यकता नहीं है। किसी वैध पथ को निर्दिष्ट करें और बैश उस स्थान पर एक फ़ाइल बनाएगा।
ls
कमांड का आउटपुट उदाहरण के लिए,
cat
कमांड टर्मिनल पर फ़ाइल की सामग्री प्रिंट करता है:
cat /path/to/file
>
ऑपरेटर कमांड के आउटपुट के साथ फ़ाइल की मौजूदा सामग्री को प्रतिस्थापित करता है। यदि आप एकाधिक आदेशों के आउटपुट को एक फ़ाइल में सहेजना चाहते हैं, तो आप इसका उपयोग करेंगे
>>
इसके बजाय ऑपरेटर। उदाहरण के लिए, निम्न आदेश आपके द्वारा निर्दिष्ट फ़ाइल में सिस्टम जानकारी संलग्न करेगा:
uname -a >> /path/to/file
अगर फ़ाइल पहले से मौजूद नहीं है, तो बैश फ़ाइल बनायेगा। अन्यथा, बैश अकेले फ़ाइल की मौजूदा सामग्री को छोड़ देगा और आउटपुट को फ़ाइल के अंत में जोड़ देगा।
जब आप फ़ाइल की सामग्री देखते हैं, तो आप देखेंगे कि आपके दूसरे कमांड के परिणाम फ़ाइल के अंत में जोड़े गए थे:
आप इस प्रक्रिया को कई बार दोहरा सकते हैं क्योंकि आप फ़ाइल के अंत में आउटपुट आउटपुट रखना पसंद करते हैं।
विकल्प दो: सामान्य रूप से प्रिंट आउटपुट और इसे एक फ़ाइल में रीडायरेक्ट करें
आप आउटपुट को रीडायरेक्ट करना पसंद नहीं कर सकते हैं
>
या
>>
ऑपरेटर, क्योंकि आप टर्मिनल में कमांड का आउटपुट नहीं देख पाएंगे। यही वही है
tee
आदेश के लिए है। टीई कमांड स्क्रीन पर प्राप्त इनपुट को प्रिंट करता है तथा इसे एक ही समय में एक फाइल में सहेजता है।
कमांड के आउटपुट को पाइप करने के लिए
tee
इसे अपनी स्क्रीन पर प्रिंट करना और फ़ाइल में सहेजना, निम्न वाक्यविन्यास का उपयोग करें:
command | tee /path/to/file
यह फ़ाइल में कुछ भी कमांड के आउटपुट के साथ प्रतिस्थापित करेगा, जैसा कि
>
ऑपरेटर।
tee
अपनी स्क्रीन पर प्रिंट करना और उसे फ़ाइल में सहेजना, लेकिन फ़ाइल के अंत में इसे जोड़ना:
command | tee -a /path/to/file
यह आउटपुट को फाइल के अंत में जोड़ देगा, जैसा कि
>>
ऑपरेटर।