Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Kopieren und Konvertieren von Dateien

&pagelevel(4)&pagelevel

POSIX-Dateien enthalten keine Datensätze, sondern sie sind byte-orientiert. BS2000-Dateien dagegen enthalten satzorientierte und/oder PAM-Block-orientierte Daten.

POSIX behandelt Dateien standardmäßig im EBCDIC-Format, UNIX-Systeme, MS-DOS und Windows im ASCII-Format. Im POSIX-Dateisystem abgelegte ASCII-Dateien können in der POSIX-Shell nur bearbeitet werden, wenn sie vorher konvertiert wurden.

Damit Dateien der beiden Formate wechselseitig benutzt werden können, stehen Kopier- und Konvertierungsroutinen zur Verfügung. Dabei wird vom Zeichensatz EBCDIC.DF.03 in den ASCII-ISO-7-Bit-Code konvertiert und umgekehrt. Diese Konvertierung ist nur für Textdateien sinnvoll.

Zusätzlich stehen Konvertierungsroutinen zur Verfügung, um vom Zeichensatz EBCDIC.DF.04 in den 8-Bit-Zeichensatz (ISO 8859) zu konvertieren und umgekehrt.

Automatische Konvertierung

Mit der Umgebungsvariable IO_CONVERSION wird gesteuert, ob Dateien beim Zugriff mit POSIX-Kommandos (z.B. awk, cat, grep...) auf montierte ASCII-Dateisysteme automatisch konvertiert werden. Standardmäßig ist die Umgebungsvariable IO_CONVERSION mit dem Wert „NO“ belegt, d.h. es erfolgt keine automatische Konvertierung. Die automatische Konvertierung wird mit folgendem Kommando eingeschaltet:

export IO_CONVERSION=YES

Als ASCII-Dateisysteme werden behandelt:

  • Ferne mit NFS eingehängte UNIX-/Windows-Dateisysteme

  • Lokale POSIX-Dateisysteme mit POSIX-Dateisystem-Marker=N

  • Ferne mit NFS eingehängte POSIX-Dateisysteme mit POSIX-Dateisystem-Marker=N

Falls die automatische Konvertierung für einen POSIX-Benutzer bereits beim Starten der POSIX-Shell voreingestellt sein soll, muss dieses export-Kommando in die Datei .profile im HOME-Verzeichnis dieses Benutzers eingetragen werden.

Bei Verwendung der folgenden Tools darf die automatische Konvertierung nicht eingeschaltet sein, da diese Tools selbst konvertieren:
dd, iconv, bs2cp mit Schalter -k.

Behandlung von Archiven/Bibliotheken:
ar konvertiert nicht automatisch, da ar-Bibliotheken oft binäre Daten enthalten.

pax und tar konvertieren automatisch. Ein pax- oder tar-Archiv darf jedoch nicht mit cp kopiert werden, wenn die automatische Konvertierung eingeschaltet ist.

Bild 8: Austausch und Konvertierung von Dateien

  1. Dateien von POSIX nach BS2000 übertragen (aus Sicht der POSIX-Shell):

    Mit dem POSIX-Kommando bs2cp übertragen Sie Dateien von POSIX nach BS2000. Sie müssen nicht die Option -k angeben, wenn in beiden Dateisystemen die Dateien im EBCDIC-Zeichensatz vorliegen.

    Zusätzlich können Sie für die BS2000-Datei noch Dateiattribute bestimmen. Dazu müssen Sie vor dem Kopierkomemando bs2cp mit dem POSIX-Kommando bs2file die BS2000-Dateiattribute festlegen. bs2file wird auf das BS2000-Kommando SET-FILE-LINK abgebildet.

  2. Dateien von BS2000 nach POSIX übertragen (aus Sicht der POSIX-Shell):

    Mit dem POSIX-Kommando bs2cp übertragen Sie Dateien von BS2000 nach POSIX. Sie müssen nicht die Option -k angeben, wenn in beiden Dateisystemen die Dateien im EBCDIC-Zeichensatz vorliegen.

    Abhängig von der Art der BS2000-Datei (SAM, ISAM) ist folgendes zu berücksichtigen:

    • Bei SAM-Dateien können Sie wählen, ob die Datei als Textdatei, als Binärdatei oder als binäre Textdatei im POSIX-Dateisystem hinterlegt wird. Dazu müssen Sie vor dem Kopierkommando bs2cp noch die Bearbeitungsart der Datei mit dem POSIX-Kommando ftyp festlegen.

    • ISAM-Dateien werden generell als Textdateien im POSIX-Dateisystem abgelegt.

  3. Zur Konvertierung innerhalb eines POSIX-Dateisystems dient das POSIX-Kommando iconv. Es werden die Datei-Inhalte konvertiert.