Zu_Befehl.png

Mmmmmm! Ein Disketten-Jockey – die mtools

Zu Befehl

01.11.2000
Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Hier kommt gleich eine ganze Gruppe von Kommandos, mit denen Sie schnell und unkompliziert auf Disketten im MS-DOS-Format zugreifen können. Tippen Sie einfach mal mtools auf der Kommandozeile – Sie werden sehen, dass das Programm selbst nichts tut, sondern eine Auflistung aller möglichen Kommandos bietet:

huhn@asteroid:~$ mtools
Supported commands:
mattrib, mbadblocks, mcat, mcd, mcopy, mdel, mdeltree, mdir
mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount, mpartition
mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype, mwrite
mzip

Alle diese Tools fangen mit m an und ermöglichen Ihnen alle möglichen Operationen mit MS-DOS-Disketten, ohne dass Sie sie vorher (als root) umständlich mounten müssten. Das sieht ja auf den ersten Blick ziemlich verwirrend aus: 25 einzelne Programme! Für den "alltäglichen" Umgang mit Disketten brauchen Sie allerdings nicht alle davon – hier kommt ein Überblick über die wichtigsten Anwendungen.

Erste Schritte

Legen Sie eine Diskette in das Laufwerk und tippen mdir a: (sofern es sich um Laufwerk A: handelt): Can't open /dev/fd0: Permission denied, Cannot initialize 'A:' Aus dieser Fehlermeldung können Sie gleich zwei Informationen gewinnen: 1. wissen Sie, dass es sich um das Device /dev/fd0 handelt und 2. haben Sie offenbar keine Berechtigung, darauf zuzugreifen. Schauen Sie sich das Device mal an:

huhn@asteroid:~$ ll /dev/fd0
brw-rw----    1 root     floppy     2,   0 Jul  5 19:50 /dev/fd0

Wie Sie aus der letzten "Zu Befehl"-Folge sicher noch wissen, ist floppy die Gruppe, die hier Operationen ausführen darf. Wenn Sie als User groups tippen, sehen Sie, ob Sie dazugehören. Ist das nicht der Fall, müssen Sie den Account in diese Gruppe eintragen. Melden Sie sich als root an und editieren Sie die Datei /etc/group. Dort gibt es einen Eintrag zur Gruppe floppy:

floppy:x:25:

Sie können jetzt einfach den entsprechenden Benutzer "dahinterhängen":

floppy:x:25:huhn

Damit dieses wirksam wird, müssen Sie den Benutzer neu am System anmelden. Wenn Sie jetzt noch einmal groups tippen, sollte dort unter anderem floppy auftauchen. (Bei einigen Distributionen heißt die Gruppe disk.) Probieren Sie jetzt nochmal mdir a::

huhn@asteroid:~$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 3EEB-5730
Directory for A:/
No files
               1 457 664 bytes free

Es handelt sich also um eine leere Diskette. Bevor Sie mit dieser arbeiten, können Sie testen, ob fehlerhafte Sektoren vorhanden sind: mbadblocks a: heisst der passende Aufruf. Wenn Sie sich nicht sicher sind, ob die Floppy richtig formatiert wurde, schafft das Kommando mformat a: Abhilfe.

M's Copy-Shop

Mit dem Befehl mcopy kopieren Sie Daten von oder auf Disketten. Hier gibt es einige Tricks und Kniffe. Angenommen, es gibt ein Verzeichnis test, das neben einer Datei datei1 ein Unterverzeichnis mit weiteren Daten enthält. Ein einfaches mcopy test a: führt leider nicht zum gewünschten Ergebnis. Auf der Diskette findet sich nur datei1 wieder – des Rätsels Lösung: rekursives Kopieren. Erinnern Sie sich an den Aufruf cp -r für rekursives Kopieren von ganzen Verzeichnisbäumen. So etwas gibt es auch für die mtools:

huhn@asteroid:~$ mcopy -/ test/ a:
huhn@asteroid:~$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 0083-DB27
Directory for A:/
VERZEI~1    <DIR>      10-04-2000  11:03  verzeichnis2
datei1              49 10-04-2000  11:03  datei1
        2 files                  49 bytes
                          1 456 640 bytes free

Hier fällt direkt eine weitere Besonderheit ins Auge: Die Dateinamen unterliegen einer Beschränkung von acht plus drei Zeichen wie bei DOS üblich. Das Verzeichnis, das eigentlich verzeichnis2 heisst, wird nach MS-DOS-Konvention auf VERZEI~1 reduziert, rechts daneben steht der "eigentlich" lange Name. Wenn Sie von Diskette auf Festplatte kopieren möchten, sollten Sie sich zwei Optionen merken: -t und -n. Den ersten Parameter -t sollten Sie allerdings nur für reine Textdateien verwenden. Er übersetzt die MS-DOS-Zeichenkombination ^M^J (die Kombination der ASCII-Zeichen 13 und 10) durch einen einfachen Unix-Zeilenumbruch (nur ASCII-Zeichen 10, ^J. Der Parameter -n ist mit Vorsicht zu geniessen. Normalerweise werden Sie sicherheitshalber vor dem Überschreiben von Dateien gewarnt File "./datei1" exists, overwrite (y/n) ?. Mit der Option -n unterdrücken Sie diese Meldung.

Direkt auf der Diskette arbeiten

Das Kommando mcd wechselt auf einer DOS-Diskette das Arbeitsverzeichnis. Schauen Sie sich das Beispiel von vorhin noch einmal an. Auf der Diskette gab es ein Verzeichnis mit Namen verzeichnis2. Hierhin können Sie ganz einfach wechseln: mcd a:verzeichnis2 – übrigens können Sie stattdessen auch mcd a:VERZEI~1 tippen. Eine Ebene höher geht es mit mcd a:... Achten Sie darauf, dass kein Leerzeichen zwischen a: und den beiden Punkten ist.

Für das Löschen von Dateien auf Disketten gibt es das Kommando mdel. Der Aufruf lautet mdel a:datei1 [datei2 datei3...], einziger Parameter ist hier -v. Diese Option ist dafür verantwortlich, dass während des Arbeitsvorgangs Informationen wie Removing A:/verzeichnis2/datei2 ausgegeben werden – Sie sind also gut informiert, welche Daten gerade von der Floppy verschwinden.

Die wichtigsten Kommandos der mtools kennen Sie nun. Weitere Programme aus der Gruppe, wie z. B. minfo, mtype oder mlabel können Sie sich aber ruhig noch anschauen. Seien Sie neugierig und schauen in die Man-Pages zu den einzelnen Befehlen!

Übrigens: Der Zugriff auf DOS-Disketten ist zwar die naheliegendste Nutzung der mtools; sie können aber noch mehr: Nach entsprechender Konfiguration (/etc/mtools.conf) können Sie über Laufwerksbuchstaben C:, D: usw. auch DOS-/Windows-Partitionen (etwa auf ZIP-Medien) ansprechen, ohne sie zu mounten. Für eine DOS-Partition /dev/hda1 wäre der passende Eintrag beispielsweise

drive c: file="/dev/hda1"

In /etc/mtools.conf finden Sie Erklärungen zu den möglichen Einträgen.

Glossar

mounten

nennt man das Einbinden eines Speichermediums (wie etwa Disketten oder Festplattenpartitionen) in den Linux-Dateibaum. So würden Sie eine Diskette normalerweise über einen Befehl der Form "mount -t vfat /dev/fd0 /mnt/floppy" einbinden. Wenn kein passender Eintrag in der Konfigurationsdatei /etc/fstab vorhanden ist, kann dieses Einbinden nur vom Systemadministrator root durchgeführt werden.

Device

Devices (Geräte) werden unter Linux in den meisten Fällen über Gerätedateien im Unterverzeichnis /dev angesprochen (eine Ausnahme stellen beispielsweise Netzwerkkarten dar). Jedem solchen Gerät wird eine Spezialdatei in diesem Verzeichnis zugeordnet, so etwa /dev/fd0 und /dev/fd1 den beiden Diskettenlaufwerken.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare