जब आप लिनक्स के टर्मिनल पर कोई कमांड देते हैं तब आपको तुरंत ही उसका परिणाम सामने मिल जाता है। लेकिन कई बार भविष्य के किसी प्रयोग हेतु इस परिणाम को सहेजना जरूरी होता है। कितना अच्छा हो यदि हम इसका परिणाम किसी फाइल में सहेज सकें।
तो आज हम आपको यही बताने जा रहे हैं कि किसी भी लिनक्स के कमांड के परिणाम को आप किसी फाइल में किस तरह से सहेज सकते हैं।
तरीका १ : लिनक्स में रिडायरेक्शन आपरेटर का प्रयोग
जब आप रिडायरेक्शन आपरेटर का प्रयोग करते हैं तब आपके कमांड का परिणाम टर्मिनल में न दिखकर सीधा फाइल में चला जाता है। रिडायरेक्शन आपरेटर दो प्रकार के होते हैं: > और >>
जब हम > का प्रयोग करते हैं तब कमांड का परिणाम फाइल में चला जाता है किन्तु यदि फाइल में पहले से बनी हुई है और उसमें कुछ डेटा मौजूद है तो वह मिट जाता है और उसके स्थान पर नया डेटा आ जाता है।
उदाहरण के लिए
ls > output.txt (Syntax: Command > Filename)
इससे ls कमांड का सारा परिणाम output.txt फाइल में चला जाता है। इसे जितनी बार क्रियान्वित करेंगे उतनी बार नया परिणाम output.txt फाइल में लिख दिया जाएगा। किन्तु पुराना डेटा/परिणाम हट जाएगा।
यदि हम >> आपरेटर का प्रयोग करें। जैसे:
ls >> output.txt (Syntax: Command >> Filename)
इसे जितनी बार क्रियान्वित करेंगे उतनी बार कमांड का परिणाम output.txt में जोड़ दिया जाएगा। यानि कि पिछला डेटा output.txt फाइल से नही हटेगा।
ध्यान रहे यदि आपके कमांड से एरर पैदा होती है तो वह एरर फाइल में नही सहेजी जाएगी। यदि आप उस एरर या त्रुटि संदेश को भी फाइल में सहेजना चाहते हैं तो कमांड के आगे 2>&1 लिख दें। उदाहरण के लिए
ls > output.txt 2>&1
तरीका २: लिनक्स में कमांड आउटपुट को न केवल फाइल में सहेजना बल्कि स्क्रीन पर भी दिखाना
रिडायरेक्शन आपरेटर से कमांड का आउटपुट तो फाइल में चला जाता है किन्तु फिर वह स्क्रीन पर दिखाई नही देता है। tee कमांड को पाइप के जरिए प्रयोग करके आप न केवल कमांड के आउटपुट को फाइल में सहेज सकते हैं बल्कि उसे स्क्रीन में उसी समय देख भी सकते हैं।
इसका सिंटेक्स होगा:
command | tee file.txt
अपेंड मोड के लिए -a आपरेटर का प्रयोग करना होगा।
command | tee -a file.txt
उदाहरण के लिए
ls -lh | tee output.txt
