Dateien
Geräte-Dateien
(engl. device)
Geräte wie z.B Drucker können wie spezielle Dateien aufgefasst werden.
Bei Terminals,Modems usw. entspricht:
Datei | Drucker | Terminal |
öffnen | öffnen | anmelden |
lesen | - | empfangen |
schreiben | drucken | ausgabe |
schliessen | schliessen | schliessen |
Wegen diesen Gemeinsamkeiten wirden in UNIX und anderen Betriebsystemen die Geräte als Dateien aufgefasst.
Dies hat viele Vorteile:
- Damit ist z.B. cat(1) auch ein Tonbandabspielgerät:
cat soundfile.au > /dev/audio
- Oder z.B. cat < /dev/ttyS0 >> /var/log/telefon
liest ständig meine Telefonanlage aus.
(In MS DOS muß man extra ein kompiziertes TSR bauen :-)
- Packprogramme wie tar(1),cpio(1) können auch für gewöhnliche Dateien verwendet werden.
- Für Leute, die ihren PC als Schreibmaschine Verwenden wollen:
MS DOS: COPY CON: LPT1:
In Unix:
cp /dev/tty /dev/lp1 oder einfach
cat > /dev/lp1
(Vorraussetzung root im singe-User-Mode - MS DOS hat doch Vorteile)
- character - Devices
- block-devices
- Disketten
- Festplatten
Partitionen:
name also. z.B. sda1
Genauer: /usr/src/linux/Documentation/devices.txt
In UNIX befinden sich im Verzeichniseintrag einer Gerätedatei
- Major-Number: Verweist auf einen Treiber im Kern
- Minornumber : Verweist auf ein Gerät, das vom Typ der Major-Devicenumber ist.
Achtung: Das selbe physikalische Gerät kann von mehreren Treibern angesprochen werden und erscheint deswegen mit mehreren Einträgen im /dev-Verzeichnis.
Anzeigen der Device-Nummern:
ls -l /dev/null ergibt:
crw-rw-rw- 1 root root 1, 3 Feb 6 1997 /dev/null
Sclimmstes Beispiel: Bandgeräte :
Je nach Modus und ob nach dem erreichen des Ende automatisch zurückgeepult werden soll oder nicht
Operationen
Für Spezialitäten gibt es neben den gewöhnlichen Dateioperationen
ioctl(2)
Wichtige Kommandos
dd(1): (disk dump) konvertiert Dateien für verschiedene Speichermedien
mknod(1): Verzeichniseinträge für spezielle Dateien u.a. für Geräte erzeugen.
Verzeichnis
Gewöhnlich befinden sich in UNIX_Systemen die Gerätedateien im Verzeichnis /dev.
Es ist aber auch eine an die Hardware angepasste Verzeichnisstruktur denkbar:
/devices/block/scsi/a/ges
0
1
/devices/block/floppy/0
/devices/char/terminal/1
2
printer/1
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber