/ देव / अशक्त और / देव / शून्य के बीच अंतर


27

जब /dev/nullऔर /dev/zeroइसके लिए आउटपुट को पुनर्निर्देशित करने की कोशिश की जाती है , तो इसे छोड़ दिया जाता है। यह दोनों लगता है /dev/nullऔर /dev/zeroसभी इनपुट को स्वीकार करते हैं और त्यागते हैं। तो, के बीच अंतर क्या है /dev/nullऔर /dev/zero?


6
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero* दूर भागता है *
joeytwiddle

जवाबों:


51

हां, दोनों सभी इनपुट स्वीकार करते हैं और छोड़ देते हैं, लेकिन उनका आउटपुट समान नहीं है:

  • /dev/nullकोई उत्पादन नहीं करता है ।
  • /dev/zeroNULL (शून्य मान) बाइट्स की एक सतत स्ट्रीम का उत्पादन करता है

आप निष्पादित करके अंतर देख सकते हैं cat /dev/nullऔर cat /dev/zero

  • कोशिश करो cat /dev/null > fileऔर तुम एक खाली मिल जाएगा file

  • अब प्रयास करें cat /dev/zero > file, जबकि फ़ाइल का आकार देखते हुए ( watch -n 1 du -h file) लगातार वृद्धि हो। ऐसा इसलिए है क्योंकि इससे पढ़ने से (अशक्त) वर्णों /dev/zeroकी एक अंतहीन धारा मिलती है \0

ddअंतर को अधिक उचित रूप से देखने के लिए उपयोग करें :

$ dd if=/dev/null of=file count=10
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000276193 s, 0.0 kB/s

$ dd if=/dev/zero of=file count=10
10+0 records in
10+0 records out
5120 bytes (5.1 kB) copied, 0.00090775 s, 5.6 MB/s

/dev/zero डमी फाइल या स्वैप बनाने के लिए उपयोग किया जाता है।

यह भी देखें:


इसके अलावा thecodelesscode.com/case/6
kojiro

2
टिप्पण लायक: mmapपिंग /dev/zeroके साथ MAP_PRIVATE"पोर्टेबल" जिस तरह से एक गुमनाम स्मृति मानचित्रण (जैसे विस्तार के अभाव में प्राप्त करने के लिए है MAP_ANON)।
nnonneo

6
आकस्मिक पाठक के लिए शायद यह स्पष्ट नहीं है कि /dev/null कोई आउटपुट कैसे उत्पन्न होता है: यह ईओएफ को तुरंत संकेत देता है।
पीटर -

क्या कोई उपकरण है जो सभी को देता है?
एरोन फ्रेंके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.