जवाबों:
हां, दोनों सभी इनपुट स्वीकार करते हैं और छोड़ देते हैं, लेकिन उनका आउटपुट समान नहीं है:
/dev/null
कोई उत्पादन नहीं करता है ।/dev/zero
NULL (शून्य मान) बाइट्स की एक सतत स्ट्रीम का उत्पादन करता है ।आप निष्पादित करके अंतर देख सकते हैं 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
डमी फाइल या स्वैप बनाने के लिए उपयोग किया जाता है।
यह भी देखें:
mmap
पिंग /dev/zero
के साथ MAP_PRIVATE
"पोर्टेबल" जिस तरह से एक गुमनाम स्मृति मानचित्रण (जैसे विस्तार के अभाव में प्राप्त करने के लिए है MAP_ANON
)।
/dev/null
कोई आउटपुट कैसे उत्पन्न होता है: यह ईओएफ को तुरंत संकेत देता है।
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero
* दूर भागता है *