संक्षिप्त उत्तर - क्या करता >>है?
के साथ >>, आप किसी फ़ाइल में कमांड के आउटपुट को जोड़ते हैं।
आपके उदाहरण कमांड में कई भाग होते हैं, मूल रूप से:
कमांड >> फ़ाइल नाम
तो उत्पादन के commandलिए संलग्न किया जाएगा filename।
के विशिष्ट मामले में क्या होता है echo?
आपके विशिष्ट मामले में, echo "…"कमांड इसके इनपुट तर्कों को "stdout" के लिए आउटपुट करता है, जो तथाकथित "मानक आउटपुट डिस्क्रिप्टर" है। इनपुट तर्कों का echoपालन एक नई लाइन ( \n) द्वारा किया जाता है , ताकि आपको एक लाइन ब्रेक मिले।
यहां, "मानक आउटपुट डिस्क्रिप्टर" एक आउटपुट स्ट्रीम से अधिक कुछ नहीं है जो आपके शेल में दिखाया गया है जब आप एक कमांड निष्पादित करते हैं। (जब आप echo fooदर्ज करते हैं और हिट करते हैं, तो कमांड foo\nका वास्तविक आउटपुट echoहोता है, जिसे आपके शेल fooद्वारा एक नई रूपरेखा के बाद दिखाया जाता है ।)
मूल रूप से कुछ भी जो आपकी कमांड लाइन को लिखता है, स्टडआउट का उपयोग कर रहा है। एक अन्य विवरणक भी है जिसे "stderr" कहा जाता है जो आमतौर पर त्रुटि संदेशों के लिए उपयोग किया जाता है। इसे स्टैडआउट की तरह भी मुद्रित किया जाएगा, इसलिए कभी-कभी उन्हें काट दिया जा सकता है। और एक स्टड डिस्क्रिप्टर है जो इनपुट के लिए उपयोग किया जाता है। अधिक जानकारी के लिए यह लेख देखें ।
आप शेल में आउटपुट को रीडायरेक्ट कैसे करते हैं?
आप हमेशा फ़ाइल डिस्क्रिप्टर के लिए स्टडआउट को पुनर्निर्देशित कर सकते हैं, जिसे आप इनमें से किसी एक ऑपरेटर के साथ कर सकते हैं:
>फ़ाइल डिस्क्रिप्टर पर रीडायरेक्ट करता है। यह फ़ाइल बनाता है यदि यह मौजूद नहीं है, या, यदि यह पहले से मौजूद है, तो लिखने से पहले फ़ाइल को काट देता है। इसलिए फ़ाइल को stdout के साथ अधिलेखित कर दिया जाएगा।
>>एक फाइल डिस्क्रिप्टर में जाता है। यह फ़ाइल बनाता है अगर यह मौजूद नहीं है।
आप भी 2>या 2>>इसी तरह का उपयोग करके stderr पुनर्निर्देशित कर सकते हैं । या आप stderr और stdout को एक फ़ाइल में जोड़ सकते हैं: 2>&1ऐसा करता है। पुनर्निर्देशन और कुछ और उदाहरणों के बारे में अधिक जानकारी के लिए, आप इस छोटे ट्यूटोरियल को पढ़ सकते हैं ।
मैं यह कैसे पता लगा सकता हूं कि शेल कोड का एक विशेष टुकड़ा क्या है?
आम तौर पर, आप Askhell.com की कोशिश करना चाह सकते हैं , जो आपको एक विशेष शेल कमांड के बारे में दृश्य मार्गदर्शन और जानकारी देगा।
man bashकाफी औपचारिक भाषा के साथ लिखा गया है, इसे समझना मुश्किल हो सकता है। दूसरी ओर वाक्यांशbash >>Google में कुछ उपयोगी लिंक देता है। यह सही है कि हम Google पर निर्भर हुए बिना ज्ञान को एकत्रित करना चाहते हैं; इस कारण भी आसानी से खोजा जा सकने वाला उत्तर फिट हो सकता है। हालांकि तथ्य यह है कि आपने न तो तुरंत उत्तर प्रदान किया है (देखें कि क्या मैं अपने स्वयं के प्रश्न का उत्तर दे सकता हूं? ) और न ही मौजूदा संसाधनों की ओर इशारा किया (जो कि संभवतः आपको समझने में मदद की आवश्यकता है) शोध की कमी को इंगित करता है।