Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dd(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cp(1)

dd(1)                                                                 dd(1)

NAME
     dd - Dateien kopieren und konvertieren

SYNTAX
     dd [option ...]

BESCHREIBUNG
     Mit dd können Sie Dateien kopieren und dabei konvertieren, z. B. von
     EBCDIC nach ASCII oder umgekehrt.

     Da das Kommando dd in beliebigen Blockgrößen lesen und schreiben kann,
     eignet es sich gut für die Ein- und Ausgabe über im Raw-Modus betrie-
     bene Geräte (raw devices). Allerdings ist darauf zu achten, daß "raw
     devices" nur mit Blockgrößen beschrieben werden können, die für das
     betreffende Gerät spezifisch sind (z. B. 512 Byte für Diskettenlauf-
     werke). Wenn die zu konvertierende Dateigröße nicht ein Vielfaches der
     spezifischen Blockgröße ist, müssen Sie die Option conv=sync angeben.

     Nach beendeter Bearbeitung gibt dd die Zahl der ganzen Blöcke und der
     Teil-Blöcke, die eingelesen bzw. ausgegeben wurden, auf die Standard-
     fehlerausgabe aus.

     Vorsicht:
          Verwenden Sie dd nie zum Kopieren von Dateien zwischen Dateisy-
          stemen mit unterschiedlicher Blockgröße.

          Wenn Sie ein blockorientiertes Gerät (block device) zum Kopieren
          der Datei verwenden, dann wird der letzte Block möglicherweise
          durch Null-Bytes bis zur Blockgröße aufgefüllt.

OPTIONEN

     ______________________________________________________________________
    | Option          |  Kurzbeschreibung                                 |
    |_________________|___________________________________________________|
    | if=eingabedatei |  Name der Eingabe-Datei                           |
    |_________________|___________________________________________________|
    | of=ausgabedatei |  Name der Ausgabe-Datei                           |
    |_________________|___________________________________________________|
    | ibs=n           |  Größe der Eingabe-Blöcke in Byte                 |
    |_________________|___________________________________________________|
    | obs=n           |  Größe der Ausgabe-Blöcke in Byte                 |
    |_________________|___________________________________________________|
    | bs=n            |  Größe der Ein- und Ausgabe-Blöcke in Byte        |
    |_________________|___________________________________________________|
    | cbs=n           |  Größe des Konvertierungsblocks in Byte           |
    |_________________|___________________________________________________|
    | files=n         |  Anzahl der Dateien, die kopiert und aneinanderge-|
    |                 |  fügt werden                                      |
    |_________________|___________________________________________________|





Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

     ______________________________________________________________________
    | Option          |  Kurzbeschreibung                                 |
    |_________________|___________________________________________________|
    | skip=n          |  Überspringen der ersten n Blöcke der Eingabe-    |
    |                 |  Datei                                            |
    |_________________|___________________________________________________|
    | iseek=n         |  Überspringen der ersten n Blöcke der Eingabe-    |
    |                 |  Datei                                            |
    |_________________|___________________________________________________|
    | oseek=n         |  Kopie der Eingabe-Datei ab n+1 Blöcken der       |
    |                 |  Ausgabe-Datei                                    |
    |_________________|___________________________________________________|
    | seek=n          |  Kopie der Eingabe-Datei ab n+1 Blöcken der       |
    |                 |  Ausgabe-Datei                                    |
    |_________________|___________________________________________________|
    | count=n         |  Die ersten n Blöcke der Eingabe-Datei            |
    |                 |  kopieren/konvertieren                            |
    |_________________|___________________________________________________|
    | conv=...,...    |  Angabe mehrere Werte für conv                    |
    |_________________|___________________________________________________|
    | conv=ascii      |  Konvertierung von EBCDIC nach ASCII              |
    |_________________|___________________________________________________|
    | conv=ebcdic     |  Konvertierung von ASCII nach EBCDIC              |
    |_________________|___________________________________________________|
    | conv=ibm        |  Konvertierung von ASCII nach IBM-spezifischen    |
    |                 |  EBCDIC                                           |
    |_________________|___________________________________________________|
    | conv=block      |  Konvertierung von Sätzen, die mit Neue-Zeile-    |
    |                 |  Zeichen abgeschlossen sind, in Sätze mit fester  |
    |                 |  Satzlänge                                        |
    |_________________|___________________________________________________|
    | conv=unblock    |  Konvertierung von Sätzen mit fester Satzlänge in |
    |                 |  Sätze, die mit Neue-Zeile-Zeichen abgeschlossen  |
    |                 |  sind                                             |
    |_________________|___________________________________________________|
    | conv=lcase      |  Umwandlung von Großbuchstaben in Kleinbuchstaben |
    |_________________|___________________________________________________|
    | conv=ucase      |  Umwandlung von Kleinbuchstaben in Großbuchstaben |
    |_________________|___________________________________________________|
    | conv=swab       |  Vertauschen zweier aufeinanderfolgender Bytes    |
    |_________________|___________________________________________________|
    | conv=noerror    |  Bearbeitung trotz Fehler fortsetzen              |
    |_________________|___________________________________________________|
    | conv=sync       |  Auffüllen der Eingabe-Blöcke auf die in ibs=n    |
    |                 |  festgelegte Anzahl Zeichen                       |
    |_________________|___________________________________________________|
    | conv=notrunc    |  Ende der Ausgabedatei bleibt erhalten            |
    |_________________|___________________________________________________|






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

     Keine Option angegeben:
          dd liest von der Standardeingabe und gibt auf die Standardausgabe
          aus. dd führt keine Konvertierungen durch. Die Größe der
          Eingabe-Blöcke und der Ausgabe-Blöcke beträgt jeweils 512 Byte.

     Wenn eine Option Größenangaben verlangt, können Sie diese auf folgende
     Weise machen:

          n     bedeutet   n mal 1
          nb    bedeutet   n mal 512
          nk    bedeutet   n mal 1024
          nw    bedeutet   n mal 2
          nxm   bedeutet   n mal m
          n*m   bedeutet   n mal m

     if=eingabedatei
        (if - input file) Für eingabedatei geben Sie den Namen der
        Eingabe-Datei an, aus der dd lesen soll.

        if=eingabedatei nicht angegeben:

        dd liest von der Standardeingabe.

     of=ausgabedatei
        (of - output file) Für ausgabedatei geben Sie den Namen der
        Ausgabe-Datei an, in die dd schreiben soll.

        of=ausgabedatei nicht angegeben:

        dd schreibt auf die Standardausgabe.

     ibs=n
        (ibs - input block size) Für n geben Sie die Größe der Eingabe-
        Blöcke in Byte an.

        ibs=n nicht angegeben:

        Die Größe der Eingabe-Blöcke ist 512 Byte.

     obs=n
        (obs - oputput block size) Für n geben Sie die Größe der Ausgabe-
        Blöcke in Byte an.

        obs=n nicht angegeben:

        Die Größe der Ausgabe-Blöcke ist 512 Byte.

     bs=n
        (bs - block size) Für n geben Sie die Größe der Eingabe- und
        Ausgabe-Blöcke in Byte an. Die Angabe von bs hebt die Angaben für
        ibs und obs auf.



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

        bs=n nicht angegeben:

        Die Eingabe-Blockgröße bleibt auch für die Ausgabe erhalten, kleine
        Eingabe-Blöcke werden nicht im Ausgabepuffer gepackt (dies ist
        besonders effizient, da intern kein weiteres Kopieren mehr nötig
        ist).

     cbs=n
        (conversion block size) Geben Sie die Größe des Konvertierungs-
        blocks für block und unblock in Byte mit n an. (Der Standardwert
        ist Null.) Wenn cbs=n nicht angegeben oder der Wert Null zugeordnet
        wird, erzeugt die Verwendung von block oder unblock undefinierte
        Ergebnisse.

        Dieser Operand muß auch angegeben werden, wenn der Operand conv=
        mit den Werten ascii, ebcdic oder ibm angegeben wird. Bei dem Ope-
        randen conv= mit dem Wert ascii wird die Eingabe wie für den Wert
        unblock beschrieben bearbeitet, außer daß Zeichen nach ASCII kon-
        vertiert werden, bevor nachfolgende Leerzeichen gelöscht werden.
        Bei dem Operanden conv= mit den Werten ebcdic oder ibm wird die
        Eingabe wie für den Wert block beschrieben bearbeitet, außer daß
        Zeichen nach EBCDIC bzw. IBM EBCDIC konvertiert werden, nachdem
        nachfolgende Leerzeichen hinzugefügt wurden

        Siehe conv=ascii, conv=ebcdic, conv=ibm und conv=block,
        conv=unblock.

     files=n
        Für n geben Sie eine Anzahl von Dateien an. Diese werden eingele-
        sen, kopiert und aneinandergefügt. Danach beendet dd die Bearbei-
        tung.

        Die Verwendung dieser Option ist nur dann sinnvoll, wenn die Ein-
        gabe von einem Magnetband oder einem ähnlichen Gerät (z. B. Strea-
        merband) gelesen wird.

     skip=n
        Die ersten n Blöcke der Eingabe-Datei werden übersprungen, und die
        Bearbeitung beginnt erst beim Block n+1.

        Diese Option ist nur für Magnetbandgeräte geeignet, für die iseek
        nicht definiert ist.

     iseek=n
        Die ersten n Blöcke der Eingabe-Datei werden übersprungen, und die
        Bearbeitung beginnt erst beim Block n+1. Diese Option ist speziell
        für die Bearbeitung von Plattendateien gedacht, da skip hier zu
        langsam ist. Diese Option ist nur für Geräte zulässig, die den
        lseek-Systemaufruf unterstützen (z. B. Plattengeräte).

        skip und iseek schließen sich gegenseitig aus.



Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

     oseek=n
        Die gegebenenfalls konvertierte Kopie der Eingabe-Datei beginnt
        erst beim n+1-ten Block der Ausgabe-Datei. Die ersten n Blöcke der
        Ausgabe-Datei bleiben unverändert erhalten. Diese Option ist nur
        für Geräte zulässig, die den lseek-Systemaufruf unterstützen (z. B.
        Plattengeräte).

     seek=n
        seek hat die gleiche Funktion wie oseek.

     count=n
        Es werden nur die ersten n Blöcke der Eingabe-Datei kopiert und,
        falls angegeben, konvertiert. Ist n = 0, wird die gesamte Datei
        kopiert.

     conv=...,...
        Sie können für conv mehrere Werte, durch Kommas voneinander
        getrennt, angeben und so mehrere Konvertierungen herbeiführen.

        Die Werte ascii, ebcdic und ibm können nicht gleichzeitig angegeben
        werden. Dasselbe gilt für die Wertepaare block und unblock, sowie
        lcase und ucase.

     conv=ascii
        Konvertierung von EBCDIC nach ASCII.

        Die durch cbs=n festgelegte Anzahl von Zeichen wird jeweils in den
        Konvertierungspuffer kopiert, und eventuell angegebene Zeichenum-
        wandlungen werden ausgeführt. Leerzeichen am Zeilenende werden
        gelöscht, und ein Neue-Zeile-Zeichen wird eingefügt. Damit wird die
        Größe der Ausgabeblöcke der Datei an den durch cbs=n festgelegten
        Wert angepaßt. Haben Sie die cbs-Option nicht oder mit cbs=0 ange-
        geben, wird die Eingabe-Datei nur konvertiert, und am Zeilenende
        werden keine Leerzeichen gelöscht.

     conv=ebcdic
        Konvertierung von ASCII nach EBCDIC.

        Die ASCII-Zeichen werden in den Konvertierungspuffer gelesen und
        nach EBCDIC konvertiert. Die Ausgabeblockgröße wird durch Hinzufü-
        gen von Leerzeichen an den durch cbs=n festgelegten Wert angepaßt.
        Haben Sie die Option cbs nicht oder mit cbs=0 angegeben, wird die
        Eingabe-Datei nur konvertiert, ihre Blockstruktur wird jedoch nicht
        verändert.

     conv=ibm
        Konvertierung von ASCII nach EBCDIC wie oben beschrieben, wobei
        eine IBM-spezifische EBCDIC-Tabelle verwendet wird.






Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

     conv=block
        Durch Neue-Zeile-Zeichen abgeschlossene ASCII-Sätze werden in Sätze
        mit fester Satzlänge konvertiert. Die ASCII-Zeichen werden in den
        Konvertierungspuffer gelesen. Die Satzlänge oder Ausgabeblockgröße
        wird durch Hinzufügen von Leerzeichen an den durch cbs=n festgeleg-
        ten Wert angepaßt. Haben sie die Option cbs nicht oder mit cbs=0
        angegeben, wird die Eingabe-Datei nur konvertiert.

     conv=unblock
        ASCII-Sätze mit fester Satzlänge werden in durch Neue-Zeile-Zeichen
        abgeschlossene Sätze konvertiert. Die Satzlänge wird durch den mit
        cbs=n festgelegten Wert bestimmt. Diese Anzahl Zeichen wird jedes-
        mal in den Konvertierungspuffer geladen, am Zeilenende überschüs-
        sige Leerzeichen werden gelöscht, und ein Neue-Zeile-Zeichen wird
        eingefügt, bevor die Zeichen ausgegeben werden. Haben Sie die
        Option cbs nicht oder mit cbs=0 angegeben, wird die Eingabe-Datei
        nur konvertiert.

     conv=lcase
        Großbuchstaben werden in die entsprechenden Kleinbuchstaben verwan-
        delt.

     conv=ucase
        Kleinbuchstaben werden in die entsprechenden Großbuchstaben verwan-
        delt.

     conv=swab
        Jeweils zwei aufeinanderfolgende Bytes werden vertauscht. Enthält
        ein Eingabeblock eine ungerade Anzahl Bytes, wird das letzte Byte
        ignoriert.

     conv=noerror
        Die Bearbeitung wird beim Auftreten eines Fehlers nicht beendet.

     conv=sync
        Alle Eingabe-Blöcke werden auf die durch ibs=n festgelegte Anzahl
        von Zeichen aufgefüllt. Bei Angabe von block oder unblock werden
        Leerzeichen verwendet, sonst Null-Bytes.

     conv=notrunc
        Die Ausgabedatei wird nicht neu erzeugt. Alle Blöcke, die nicht
        explizit von dd überschrieben werden, bleiben unverändert erhalten.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
     ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.





Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

dd(1)                                                                 dd(1)

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

BEISPIELE
     Der Inhalt eines EBCDIC-Magnetbandes mit einer Blockstruktur von 10
     mal 80 Byte wird in die ASCII-Datei xy geschrieben:

     $ dd if=/dev/rmt32 of=xy ibs=800 cbs=80 conv=ascii

SIEHE AUCH
     cp(1).










































Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026