SelfLinux Grundlagen Diskettenzugriff unter Linux Abschnitt 2 | SelfLinux-0.13.0

| Diskettenzugriff unter Linux | Autor Formatierung GFDL

#### 3 Die m-Tools

Neben dieser ersten Möglichkeit zum Umgang mit Disketten, stellen die sogenannten m-Tools noch eine weitere bereit. Die m-Tools wurden zu einer Zeit entwickelt, als die Unix-Systeme das FAT-Dateisystem noch nicht unterstützten, die PCs aber schon so weit verbreitet waren, dass es sinnvoll erschien, PC-Disketten lesen und schreiben zu können.

Wie gesagt, kann Linux heutzutage PC-Disketten wie normale Dateisysteme behandeln. Für den Fall, dass

- man es irgendwo mit einem alten Unix zu tun hat, das FAT als Dateisystem nicht beherrscht
- oder man sich oft darüber geärgert hat, die Diskette entnommen zu haben, ohne vorher das Dateisystem per umount-Befehl ausgehängt zu haben

stehen die m-Tools auch heute noch bereit.

Die wichtigsten Befehle lauten

- mdir <DOS-Pfad> ...
- mcopy <DOS-Pfad> ... <Unix-Pfad>
- mdel <DOS-Pfad> ...

Wie man an den Namen erkennen kann, ahmen diese Befehle ihre Vorbilder aus der DOS-Shell nach.

So kann man z. B. mit

user@linux ~$ mdir a:/

das Verzeichnis der Diskette anzeigen.

Der Befehl

user@linux ~$ mcopy "a:/*.doc" "a:/*.dok" ~/eingang/

kopiert alle Dateien aus dem Wurzelverzeichnis der Diskette mit Endungen .doc und .dok in das Verzeichnis eingang unterhalb des Heimatverzeichnisses des aktuellen Benutzers. (Das Tilde-Zeichen ~ ist unter Unix die Kurzform für den absoluten Pfad zum Heimatverzeichnis eines Benuters.)

Man beachte, dass alle Muster welche die Zeichen * oder ? enthalten, in der Shell in Anführungszeichen zu setzen sind, da sonst die Shell versucht, eine Namensexpansion vorzunehmen. Diese kann nur fehlschlagen, da die Shell keine DOS-Pfade kennt. Das gilt auch für die anderen Sonderzeichen der Shell wie $, ; oder {, deren Verwendung in Dateinamen, gleich auf welchem Betriebssystem, ohnehin nicht empfehlenswert ist. Wem das zu kryptisch ist, der setze die Pfade grundsätzlich immer in Anführungszeichen. Nähere Hintergründe gibt es im Kapitel über die Shell.

Im Unterschied zum DOS-Betriebssystem, wo der Befehl

user@linux ~$ dir *.*

alle Dateien anzeigt, steht in einer Unix-Shell das Muster * für alle Dateien (außer den versteckten Dateien, deren Dateiname mit einem Punkt beginnt). Der Ausdruck *.* dagegen steht unter Unix nur für Dateien, die tatsächlich einen Punkt im Dateinamen enthalten. Der Befehl:

user@linux ~$ mdel "a:/alt/*.*"

löscht nur Dateien im Verzeichnis alt, die einen Punkt im Namen haben. Dateien ohne Punkt im Namen wie ehemals_wichtig bleiben erhalten.

Um mit den m-Tools auf eine Diskette zugreifen zu können, kann und darf sie nicht gemountet sein!

Die Manpage zu den m-Tools gibt weitere Informationen. Sie können sie mit dem folgenden Kommando aufrufen:

user@linux ~$ man mtools