बैश में एक फ़ाइल में कमांड के आउटपुट को कैसे सहेजें (लिनक्स और मैकोज टर्मिनल उर्फ)

विषयसूची:

बैश में एक फ़ाइल में कमांड के आउटपुट को कैसे सहेजें (लिनक्स और मैकोज टर्मिनल उर्फ)
बैश में एक फ़ाइल में कमांड के आउटपुट को कैसे सहेजें (लिनक्स और मैकोज टर्मिनल उर्फ)

वीडियो: बैश में एक फ़ाइल में कमांड के आउटपुट को कैसे सहेजें (लिनक्स और मैकोज टर्मिनल उर्फ)

वीडियो: बैश में एक फ़ाइल में कमांड के आउटपुट को कैसे सहेजें (लिनक्स और मैकोज टर्मिनल उर्फ)
वीडियो: Krishna Telugu Full Movie | Ravi Teja, Trisha, Brahmanandam | Sri Balaji Video - YouTube 2024, अप्रैल
Anonim
जब आप बैश प्रॉम्प्ट पर कमांड चलाते हैं, तो यह सामान्य रूप से टर्मिनल पर उस कमांड के आउटपुट को प्रिंट करता है ताकि आप इसे तुरंत पढ़ सकें। लेकिन बैश आपको किसी भी कमांड के आउटपुट को "रीडायरेक्ट" करने की अनुमति देता है, इसे टेक्स्ट फ़ाइल में सहेजता है ताकि आप बाद में आउटपुट की समीक्षा कर सकें।
जब आप बैश प्रॉम्प्ट पर कमांड चलाते हैं, तो यह सामान्य रूप से टर्मिनल पर उस कमांड के आउटपुट को प्रिंट करता है ताकि आप इसे तुरंत पढ़ सकें। लेकिन बैश आपको किसी भी कमांड के आउटपुट को "रीडायरेक्ट" करने की अनुमति देता है, इसे टेक्स्ट फ़ाइल में सहेजता है ताकि आप बाद में आउटपुट की समीक्षा कर सकें।

यह किसी भी ऑपरेटिंग सिस्टम पर लिनक्स और मैकोज़ से विंडोज 10 के उबंटू-आधारित बैश पर्यावरण पर बैश में काम करता है।

विकल्प एक: केवल एक फ़ाइल में आउटपुट रीडायरेक्ट करें

बैश रीडायरेक्शन का उपयोग करने के लिए, आप एक कमांड चलाते हैं, निर्दिष्ट करें

>

या

>>

ऑपरेटर, और तब उस फ़ाइल का पथ प्रदान करें जिसे आप आउटपुट रीडायरेक्ट करना चाहते हैं।

  • >

    फ़ाइल की मौजूदा सामग्री को प्रतिस्थापित करते हुए, एक कमांड के आउटपुट को फ़ाइल में रीडायरेक्ट करता है।

  • >>

    फ़ाइल की मौजूदा सामग्री में आउटपुट को जोड़कर, एक कमांड के आउटपुट को फ़ाइल में रीडायरेक्ट करता है।

तकनीकी रूप से, यह "stdout" - मानक आउटपुट को रीडायरेक्ट करता है, जो एक फ़ाइल के लिए स्क्रीन है।

यहां एक साधारण उदाहरण है।

ls

कमांड निर्देशिका और फ़ाइलों को वर्तमान निर्देशिका में सूचीबद्ध करता है। इसलिए। जब आप निम्न आदेश चलाते हैं,

ls

वर्तमान निर्देशिका में फ़ाइलों और फ़ोल्डर्स सूचीबद्ध करेगा। लेकिन यह उन्हें स्क्रीन पर प्रिंट नहीं करेगा-यह उन्हें आपके द्वारा निर्दिष्ट फ़ाइल में सहेज देगा।

ls > /path/to/file

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

यदि आप फ़ाइल की सामग्री देखते हैं, तो आप देखेंगे
यदि आप फ़ाइल की सामग्री देखते हैं, तो आप देखेंगे

ls

कमांड का आउटपुट उदाहरण के लिए,

cat

कमांड टर्मिनल पर फ़ाइल की सामग्री प्रिंट करता है:

cat /path/to/file

याद करो
याद करो

>

ऑपरेटर कमांड के आउटपुट के साथ फ़ाइल की मौजूदा सामग्री को प्रतिस्थापित करता है। यदि आप एकाधिक आदेशों के आउटपुट को एक फ़ाइल में सहेजना चाहते हैं, तो आप इसका उपयोग करेंगे

>>

इसके बजाय ऑपरेटर। उदाहरण के लिए, निम्न आदेश आपके द्वारा निर्दिष्ट फ़ाइल में सिस्टम जानकारी संलग्न करेगा:

uname -a >> /path/to/file

अगर फ़ाइल पहले से मौजूद नहीं है, तो बैश फ़ाइल बनायेगा। अन्यथा, बैश अकेले फ़ाइल की मौजूदा सामग्री को छोड़ देगा और आउटपुट को फ़ाइल के अंत में जोड़ देगा।

जब आप फ़ाइल की सामग्री देखते हैं, तो आप देखेंगे कि आपके दूसरे कमांड के परिणाम फ़ाइल के अंत में जोड़े गए थे:

Image
Image

आप इस प्रक्रिया को कई बार दोहरा सकते हैं क्योंकि आप फ़ाइल के अंत में आउटपुट आउटपुट रखना पसंद करते हैं।

विकल्प दो: सामान्य रूप से प्रिंट आउटपुट और इसे एक फ़ाइल में रीडायरेक्ट करें

आप आउटपुट को रीडायरेक्ट करना पसंद नहीं कर सकते हैं

>

या

>>

ऑपरेटर, क्योंकि आप टर्मिनल में कमांड का आउटपुट नहीं देख पाएंगे। यही वही है

tee

आदेश के लिए है। टीई कमांड स्क्रीन पर प्राप्त इनपुट को प्रिंट करता है तथा इसे एक ही समय में एक फाइल में सहेजता है।

कमांड के आउटपुट को पाइप करने के लिए

tee

इसे अपनी स्क्रीन पर प्रिंट करना और फ़ाइल में सहेजना, निम्न वाक्यविन्यास का उपयोग करें:

command | tee /path/to/file

यह फ़ाइल में कुछ भी कमांड के आउटपुट के साथ प्रतिस्थापित करेगा, जैसा कि

>

ऑपरेटर।

कमांड के आउटपुट को पाइप करने के लिए
कमांड के आउटपुट को पाइप करने के लिए

tee

अपनी स्क्रीन पर प्रिंट करना और उसे फ़ाइल में सहेजना, लेकिन फ़ाइल के अंत में इसे जोड़ना:

command | tee -a /path/to/file

यह आउटपुट को फाइल के अंत में जोड़ देगा, जैसा कि

>>

ऑपरेटर।

सिफारिश की: