यह एक निम्न स्तर का प्रश्न है, और मैं समझता हूं कि यह पूछने के लिए सबसे अच्छी जगह नहीं हो सकती है। लेकिन, यह किसी भी अन्य एसई साइट की तुलना में अधिक उपयुक्त लग रहा था, इसलिए यहां जाता है।
मुझे पता है कि लिनक्स फाइल सिस्टम पर, कुछ फाइलें वास्तव में मौजूद हैं , उदाहरण के लिए: /usr/bin/bash
वह मौजूद है। हालांकि, (जहाँ तक मैं यह समझ के रूप में), कुछ भी वास्तव में इस तरह के रूप में मौजूद नहीं है और कर रहे हैं और अधिक आभासी फ़ाइलें, जैसे: /dev/sda
, /proc/cpuinfo
, आदि मेरे सवाल कर रहे हैं (वे दो हैं, लेकिन बहुत बारीकी से अलग सवाल हो से संबंधित):
- लिनक्स कर्नेल कैसे काम करता है कि क्या ये फाइलें असली हैं (और इसलिए इन्हें डिस्क से पढ़ा जाता है) या नहीं जब एक रीड कमांड (या ऐसा) जारी किया जाता है?
- यदि फ़ाइल वास्तविक नहीं है: उदाहरण के लिए, एक रीड से
/dev/random
यादृच्छिक डेटा वापस आ जाएगा, और एक रीड से/dev/null
वापस आ जाएगाEOF
। यह कैसे काम करता है कि इस वर्चुअल फ़ाइल से डेटा को कैसे पढ़ा जाए (और इसलिए वर्चुअल फ़ाइल में लिखे गए डेटा को कब / क्या करना है) या आभासी निर्देशिका के लिए भी? तो, एक प्रविष्टि के लिए/dev/null
बस वापस आ सकता हैEOF
।