Beim Versuch, zu /dev/null
und umzuleiten, /dev/zero
wird die Ausgabe verworfen. Es scheint beides zu sein /dev/null
und /dev/zero
alle Eingaben zu akzeptieren und zu verwerfen. Was ist der Unterschied zwischen /dev/null
und /dev/zero
?
27
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero
* rennt weg *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ührencat /dev/zero
.Versuchen
cat /dev/null > file
Sie es und Sie werden eine leere findenfile
.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:/dev/zero
wird verwendet, um Dummy-Dateien zu erstellen oder auszutauschen.Besuchen Sie auch:
quelle
mmap
ping/dev/zero
withMAP_PRIVATE
ist der "portable" Weg, um eine anonyme Speicherzuordnung zu erhalten (sofern keine Erweiterungen vorhanden sindMAP_ANON
)./dev/null
keine Ausgabe erzeugt wird: Er signalisiert EOF sofort.