DD(1)                                                       DD(1)

     NAME
          dd - convert and copy a file

     SYNOPSIS
          dd [ option value ] ...

     DESCRIPTION
          Dd copies the specified input file to the specified output
          with possible conversions.  The standard input and output
          are used by default.  The input and output block size may be
          specified to take advantage of raw physical I/O.  The
          options are

          -if f   Open file f for input.

          -of f   Open file f for output.

          -ibs n  Set input block size to n bytes (default 512).

          -obs n  Set output block size (default 512).

          -bs n   Set both input and output block size, superseding
                  ibs and obs. If no conversion is specified, preserve
                  the input block size instead of packing short blocks
                  into the output buffer.  This is particularly effi-
                  cient since no in-core copy need be done.

          -cbs n  Set conversion buffer size.

          -skip n Skip n input records before copying.

          -iseek n
                  Seek n records forward on input file before copying.

          -files n
                  Catenate n input files (useful only for magnetic
                  tape or similar input device).

          -oseek n
                  Seek n records from beginning of output file before
                  copying.

          -count n
                  Copy only n input records.

          -trunc n
                  By default, dd truncates the output file when it
                  opens it; -trunc 0 opens it without truncation.

          -quiet n

     Page 1                       Plan 9            (printed 11/23/24)

     DD(1)                                                       DD(1)

                  By default, dd prints the number of blocks read and
                  written once it is finished.  -quiet 1 silences this
                  summary.

          -conv ascii    Convert EBCDIC to ASCII.
               ebcdic   Convert ASCII to EBCDIC.
               ibm      Like ebcdic but with a slightly different
                        character map.
               block    Convert variable length ASCII records to fixed
                        length.
               unblock  Convert fixed length ASCII records to variable
                        length.
               lcase    Map alphabetics to lower case.
               ucase    Map alphabetics to upper case.
               swab     Swap every pair of bytes.
               noerror  Do not stop processing on an error.
               sync     Pad every input record to ibs bytes.

          Where sizes are specified, a number of bytes is expected.  A
          number may end with `k' or `b' to specify multiplication by
          1024 or 512 respectively; a pair of numbers may be separated
          by `x' to indicate a product.  Multiple conversions may be
          specified in the style: `-conv ebcdic,ucase'.

          `Cbs' is used only if `ascii', `unblock', `ebcdic', `ibm',
          or `block' conversion is specified.  In the first two cases,
          n characters are copied into the conversion buffer, any
          specified character mapping is done, trailing blanks are
          trimmed and new-line is added before sending the line to the
          output.  In the latter three cases, characters are read into
          the conversion buffer and blanks are added to make up an
          output record of size n. If `cbs' is unspecified or zero,
          the `ascii', `ebcdic', and `ibm' options convert the charac-
          ter set without changing the block structure of the input
          file; the `unblock' and `block' options become a simple file
          copy.

     SOURCE
          /sys/src/cmd/dd.c

     SEE ALSO
          cp(1)

     DIAGNOSTICS
          Dd reports the number of full + partial input and output
          blocks handled.

     Page 2                       Plan 9            (printed 11/23/24)