/dev/null
/dev/null ist die Implementierung des Nullgeräts (englisch null device) als Gerätedatei in Unix-Betriebssystemen. Seinen Ursprung hat /dev/null
im Betriebssystem UNIX Version 7 von 1977,[1] das Verhalten der Implementierung wurde im POSIX-Standard festgelegt.[2]
Bei SUS-zertifizierten und POSIX-konformen UNIX-Betriebssystemen ist /dev/null
zwingend erforderlich. Viele weitere Unix-artige Betriebssysteme, darunter BSD-basiertes Unix wie die BSD-Nachfolgeprojekte NetBSD, FreeBSD und OpenBSD sowie unzählige Linux-Distributionen, halten sich beim Nullgerät an den mit POSIX vorgegebenen Standard. Auf anderen Betriebssystemen ist /dev/null
auf POSIX-konformen Unix-Shells ebenfalls implementiert, etwa mit Cygwin unter Windows.
Verwendung
Wird /dev/null
bei der Ausgabe adressiert, wird ein auszugebender Datenstrom verworfen. Beim Lesezugriff darauf (Eingabe) wird ein einzelnes End-of-File-Zeichen (EOF
) ausgegeben. Die hauptsächliche Verwendung von /dev/null
ist das Verwerfen von Ausgaben.
Darüber hinaus kann das Nullgerät auch als Pseudo-Adressat dienen. Zum Beispiel kopiert der Befehl
cp Datei /dev/null
(siehe cp
) die angesprochene Quelldatei, im Beispiel Datei
, effektiv nirgendwohin, aber durch das für den Vorgang notwendige Lesen der Quelldatei wird einerseits deren vollständige Lesbarkeit festgestellt (dient also als eine Art selektives fsck), andererseits wird die Quelldatei durch das Lesen in den Diskcache geladen, wodurch eine eventuelle spätere Verwendung beschleunigt wird. Darüber hinaus wird – abhängig vom verwendeten Dateisystem – der Inode-Inhalt geändert, weil der Zugriffszeitstempel (englisch access time, kurz atime) neu gesetzt wird.
Lesezugriffe liefern ausschließlich ein einzelnes End-of-File-Symbol, weshalb es auch zur Erzeugung „leerer Eingaben“ verwendet werden kann. Folgendes Beispiel erstellt durch das Kopieren der Gerätedatei eine neue, leere Datei:
cp /dev/null "leere Datei.txt"
Rezeption in der Netzkultur
In der Netzkultur ist /dev/null
ein umgangssprachlich verwendeter Begriff, der Desinteresse an einem oder Verachtung für einen Gegenstand bekundet, indem dessen Verwerfen angedeutet wird. Ein Beispiel wäre etwa das Pseudokommando mv program /dev/null
, was auf „wirf das Programm weg“ hinausläuft.
Bekannt ist auch der Spruch „Für Backups gibt’s /dev/null, für Restores /dev/random…“, der sarkastisch die oftmals wenig oder nicht ausreichend getesteten Backupverfahren kommentiert.
Siehe auch
Einzelnachweise
- ↑ NULL(4) manpage von FreeBSD.
- ↑ The Open Group Base Specifications Issue 7 – Directory Structure and Devices (engl.)