Schlagwort Archiv: UNIX

OS-Internals #1: /dev/null in Linux UND Windows

Wie ein Müllcontainer fungiert /dev/null unter UNIX als schwarzes Loch für Daten.

Wie ein Müllcontainer fungiert /dev/null unter UNIX als schwarzes Loch für Daten.
(by-nc-sa 2.0)

Dies ist der erste Beitrag der OS-Internals Reihe. Ich versuche unter diesem Begriff sehr technische Aspekte von Linux zu beleuchten und verständlich zu erklären.

Die meisten, die Linux benutzen, sollten das Gerät /dev/null kennen, welches auch Null-Gerät genannt wird. Hierbei handelt es sich um ein spezielles Gerät, das alle Eingehenden Daten sofort löscht und gar nicht erst persistiert. Es wird daher auch oft scherzhaft als schwarzes Loch oder Nirvana bezeichnet.

Technisch ist /dev/null – genau wie alles andere bei Linux – eine Datei, jedoch eine spezielle, die output streams bereit stellt und input streams entgegen nehmen kann (doch zu Dateien in Linux in einem späteren Teil mehr). Wenn man schauen möchte was es ist, kann man auch einfach folgendes machen und sich die Ausgabe anschauen:

Eigenschaften
$ ls -alh /dev/null
crw-rw-rw- 1 root root 1, 3 Nov 10 19:06 /dev/null

Es ist also eine spezielle Datei (das c bedeutet char device), jeder hat Zugriff darauf, es gehört root und es werden weitere, für uns momentan nicht wichtige, Informationen angezeigt.

Nutzen von /dev/null

Man kann es einsetzen um z.B. einen gewissen output-Stream (z.B. stderr) aus der Ausgabe von einem Programm zu entfernen. Hierfür benutzt man einfach den Umleitungs-Operator (redirection operator, also das > Zeichen) kombiniert mit der file descriptor number für stderr (sprich 2):

Ausgaben weg schmeißen
$ find /etc/ -iname apt 2> /dev/null

Wir suchen hier nach allen Dateien und Ordnern unter /etc/ in deren Namen der string apt vorkommt. Alle Ausgaben auf den stream stderr werden ins Nirvana geschickt.

Gefahren von /dev/null

(mehr …)