Zum Inhalt springen

/dev/null

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. Juni 2020 um 13:46 Uhr durch Wilm Krekeler (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

/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

  1. NULL(4) manpage von FreeBSD.
  2. The Open Group Base Specifications Issue 7 – Directory Structure and Devices (engl.)