Was sind eigentlich Gerätedateien unter Linux und wozu dienen sie?

Kurze Erklärungen und Bedeutungen von Begriffen unter Linux
Administrator
Beiträge: 1098
Registriert: Sa 10. Jul 2021, 01:47
Wohnort: Graz

Has thanked: 73 times
Been thanked: 604 times

Was sind eigentlich Gerätedateien unter Linux und wozu dienen sie?

Beitrag von robertgoedl »

Interessierte unter Linux werden sich sicherlich schon einmal in der Verzeichnishierarchie von Linux umgesehen haben - manche bezeichnen es auch als Dateisystem. Die Bezeichnung Dateisystem ist natürlich grundlegend falsch - das Dateisystem kann man sich als eine Art Datenbank vorstellen, es regelt die Speicherung der Dateien / Daten.
Wie auch immer - es wird einem sicherlich auch das Systemverzeichnis "/dev" untergekommen sein - hier lagern die Gerätedateien.

Was sind jetzt eigentlich Gerätedateien?

Wie schon beschrieben - Gerätedateien liegen unter Linux im Systemverzeichnis "/dev" - dies sind eine ganze Menge, manche auch in Unterverzeichnissen:
Gerätedateien unter Linux
Gerätedateien unter Linux
Diese Dateien sind die Schnittstelle zwischen Hardware und Software - also dem System. Jedes Gerät unter Linux wird über eine solche Gerätedatei angesprochen, schreibe ich etwas auf der Tastatur - empfängt das System diese Eingaben über die Gerätedatei der Tastatur. Der Bildschirm hat eine Gerätedatei, ein zweiter und dritter haben ebenfalls weitere solche Dateien. Schließen Sie einen Drucker an, wird auch dieser über eine solche Datei angesprochen. Auch das Touchpad und die Maus haben ihre Gerätedateien, jede Hardware wird unter Linux über solche Dateien angesprochen und erhält Informationen von diesen.

Es gibt unterschiedliche Arten von Gerätedateien, Dolphin - der Dateimanager von KDE zeigt dies schon, wenn man mit der Maus darüber fährt:
Gerätedateien unter Linux
Gerätedateien unter Linux
  • Zeichenorientiert - über solche Gerätedateien wird immer ein einziges Zeichen übertragen. Ein Beispiel dafür wäre die Maus, oder das Touchpad am Laptop, ein Klick - ein Zeichen, ein Pixel, Bewegung in eine Richtung - ein Zeichen. Die Maus wird übrigens über die Gerätedatei "/dev/input/mice" angesprochen.
  • Blockorientiert - solche Gerätedateien übertragen nicht ein einziges Zeichen, sie übertragen ganze Blöcke von Daten - ein Beispiel wären Festplatten oder externe Medien.
  • Socketorientiert - dies sind 'eigentlich' keine Gerätedateien, gehören aber doch dazu - sie dienen zur Kommunikation zwischen Prozessen.
  • Virutelle Geräte - diese dienen nicht direkt zum Zugriff auf reale Hardware, sondern über diese lassen sich Informationen aus Geräten auslesen.
Hier noch ein paar kleine Beispiele, wie man mit Gerätedateien umgehen kann - ersterer funktioniert nur als Admin:

Code: Alles auswählen

cat /dev/input/mice
Gerätedateien unter Linux
Gerätedateien unter Linux
Sie sehen, wie die Maus oder das Touchpad bei Bewegung Daten an das System überträgt - mit Strg+c wird beendet. Ein weiteres Beispiel, wie man an den Drucker "lp0" die Zeichenfolge "Dies wird ausgedruckt" sendet:

Code: Alles auswählen

echo "Dies wird ausgedruckt" > /dev/lp0
Grundsätzlich hat man als normaler Benutzer nichts mit den Gerätedateien zu tun, zu wissen, für was diese da sind ist jedoch kein Fehler.
Windows lässt sich mit einem U-Boot vergleichen - mach ein Fenster auf und die Probleme beginnen ...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste