/dev/zero
/dev/zero ist der Name einer speziellen virtuellen Gerätedatei auf Unix und Unix-ähnlichen Betriebssystemen, die jeden Lesezugriff dadurch befriedigt, dass die angeforderte Anzahl Null-Bytes (Nullzeichen) zurückgeliefert wird. Zu erwähnen ist, dass im Vergleich zu /dev/null /dev/zero nicht Bestandteil des POSIX-Standards ist.
/dev/zero wurde mit SunOS-4.0 im Jahre 1987 gemeinsam mit dem neuen VM-Subsystem eingeführt.
Details
Wenn auf /dev/zero geschrieben wird, verhält sich /dev/zero wie /dev/null. Bei einem mmap auf /dev/zero werden anonyme genullte Seiten aus dem virtuellen Speicherpool des Kernels zur Verfügung gestellt. Viele Betriebssysteme verwenden diesen mmap-Mechanismus, um Programmen und Shared Libraries den sogenannten nichtinitialisierten-Datenbereich zur Verfügung zu stellen. Viele Programme verwenden Datenbereiche, die durch einem mmap auf /dev/zero erzeugt wurden, als Basis für Shared Memory, das zur Kommunikation zwischen mehreren Prozessen verwendet wird.
Beispiele
Das folgende Unix-Kommando erzeugt eine Datei file, die 12 MB Nullen enthält:
$ dd if=/dev/zero bs=1M of=file count=12