Antworten:
Ja, beide akzeptieren und verwerfen alle Eingaben, aber ihre Ausgabe ist nicht dieselbe:
/dev/null
erzeugt keine Ausgabe ./dev/zero
erzeugt einen kontinuierlichen Strom von NULL (Nullwert) Bytes .Sie können den Unterschied erkennen, indem Sie cat /dev/null
und ausführen cat /dev/zero
.
Versuchen cat /dev/null > file
Sie es und Sie werden eine leere finden file
.
Versuchen Sie es jetzt cat /dev/zero > file
, während die Größe der Datei ( watch -n 1 du -h file
) kontinuierlich zunimmt. Dies liegt daran, dass das Lesen aus /dev/zero
einem endlosen Strom von \0
(Null-) Zeichen resultiert.
Verwenden Sie dd
diese Option, um den Unterschied besser zu veranschaulichen:
$ 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
wird verwendet, um Dummy-Dateien zu erstellen oder auszutauschen.
Besuchen Sie auch:
mmap
ping /dev/zero
with MAP_PRIVATE
ist der "portable" Weg, um eine anonyme Speicherzuordnung zu erhalten (sofern keine Erweiterungen vorhanden sind MAP_ANON
).
/dev/null
keine Ausgabe erzeugt wird: Er signalisiert EOF sofort.
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero
* rennt weg *