/dev/null

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung: Dieser Artikel enthält schwere inhaltliche Mängel und Falschinformationen, darüber hinaus irreführende Formulierungen.
Bitte hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

/dev/null ist die Implementierung des Nullgeräts (englisch null device) in Unix-Betriebssystemen als Gerätedatei. 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[Bearbeiten | Quelltext bearbeiten]

Wird /dev/null bei der Ausgabe adressiert, wird ein auszugebener 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[Bearbeiten | Quelltext bearbeiten]

In der Netzkultur ist /dev/null ein umgangssprachlich verwendeter Begriff, der Desinteresse an 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[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

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