पाइप बनाम रीडायरेक्ट


23

मैं लंबे समय से पाइप और रीडायरेक्ट का उपयोग कर रहा हूं और मुझे एहसास हुआ कि मुझे बिल्कुल नहीं पता कि वे कैसे भिन्न हैं। मुझे सिर्फ इतना पता है कि यदि आप किसी फाइल में आउटपुट स्टोर करना चाहते हैं, तो आप> का उपयोग करें। वरना ज्यादातर समय आप सिर्फ इस्तेमाल करते हैं | क्या कोई पाइप और रीडायरेक्ट के बीच अंतर बता सकता है?


जवाबों:


25

दोनों एक ही मूल काम करते हैं; वे निष्पादित की गई प्रक्रिया के एक फ़ाइल विवरणक को पुनर्निर्देशित करते हैं। अंतर में निहित है कि कैसे। एक पाइप एक प्रक्रिया के स्टडआउट को दूसरे की स्टडिन से जोड़ता है, जबकि रीडायरेक्शन रीडायरेक्ट करता है / एक फ़ाइल से (एक फाइल >से स्टड के लिए, <स्टड के लिए)।


1
लिनक्स और अन्य प्रणालियों में ब्लर्स का अंतर प्रकार /dev/fd। उदाहरण के लिए, यदि आप चलाते हैं echo foo > >(somecommand), तो इसका विस्तार होगा echo foo > /dev/fd/3। यह अभी भी पुनर्निर्देशन है, लेकिन एक प्रक्रिया के लिए।
user1686
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.