[Zurück] [Home] [Weiter]       http://rowa.giso.de  

Eine frei verwendbare Unix-Grundlagenschulung mit muLinux

Um diese Übung auf eine DOS-Diskette zu speichern, legen wir diese in das Disketten-Laufwerk, mounten das Laufwerk nach /a und wechseln in das Verzeichnis /a.
/# mount /dev/fd0 /a
/# cd /a
/a# _

Konvertieren von Textdateien zwischen DOS und Unix

Unter DOS wird in Textdateien ein Zeilenende durch die Sequenz return (Dezimalcode 13) und new line (Dezimalcode 10) dargestellt. Unix verwendet dagegen nur new line.

Wird eine Unix-Textdatei in DOS oder Windows weiterverarbeitet, so erfolgt die Darstellung des Zeilenumbruchs nicht korrekt. So werden bei einfachen Texteditoren, wie z. B. notepad.exe, anstelle eines Umbruchs nur sonderbare Zeichen dargestellt. Anspruchsvollere Texteditoren, wie z. B. die Windows-Version vom vi, können auch Unix-Textdateien richtig lesen. Wird eine DOS-Textdatei in den vi-Editor geladen, so erscheint ein ^M-Zeichen an jedem Zeilenende.

Um Probleme zu vermeiden, sollten die Textdateien konvertiert werden. Es gibt unter Unix zwei Programme dafür. unix2dos Konvertiert von Unix zu DOS und dos2unix Konvertiert von DOS zu Unix. Die 2 heißt auf englisch "two", wird also wie "to" (engl. zu) ausgesprochen. unix2dos soll also eigentlich "Unix to DOS" heißen.

Um eine Unix-Textdatei in eine DOS-Textdatei umzuwandeln dient die nachfolgende Befehlszeile. cat gibt den Dateiinhalt aus. Die Ausgabe wird aber mittels pipe direkt zu unix2dos umgeleitet. unix2dos wirkt als ein Filter, der jedem Zeilenumbruch das Zeichen new line hinzufügt.

cat Unix-Textdatei | unix2dos > DOS-Textdatei

Um z. B. eine Kopie der Datei /etc/passwd nach DOS zu konvertieren und auf unsere DOS-Diskette zu speichern, geben wir folgenden Befehl ein:

/# cd /a
/a# cat /etc/passwd | unix2dos > passwd.txt

Die DOS-Diskette kann nach dem Aufheben der mount-Zuordnung aus dem Diskettenlaufwerk genommen werden, um sie danach in einem Windows-PC zu bearbeiten. Datei passwd.txt kann dann mit einem Doppelklick im Windows-Notepad editiert werden. Wie können also eine Textdatei mit dem vi schreiben, in das DOS-Textformat konvertieren und auf eine gemountete DOS-Diskette kopieren. Anschließend kann dann diese Textdatei unter DOS bzw. Windows weiterverarbeitet werden. Umgedreht geht es natürlich auch.

Für die Konvertierung von DOS-Textdateien in Unix-Textdateien wird das gleiche Prinzip angewendet. dos2unix entfernt allerdings jeweils das Zeichen new line.

cat DOS-Textdatei | dos2unix > Unix-Textdatei

In anderen Unix-Varianten ist die Syntax dieser Befehle mitunter sehr unterschiedlich.


Um diese Übung zu beenden heben wir die mount-Zuordnung unserer Arbeitsdiskette auf.
/a# cd /
/# umount /a
/# _
[Zurück] [Home] [Weiter]