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, pre-
                     serve the input block size instead of packing
                     short blocks into the output buffer.  This is
                     particularly efficient since no in-core copy need
                     be done.
          -cbs n     Set conversion buffer size.
          -skip n    Skip n input blocks before copying.
          -iseek n   Seek n blocks forward on input file before copy-
                     ing.
          -iseekb n  Seek n bytes forward on input file before copy-
                     ing.
          -files n   Catenate n input files (useful only for magnetic
                     tape or similar input device).
          -oseek n   Seek n blocks from beginning of output file
                     before copying.
          -oseekb n  Seek n bytes from beginning of output file before
                     copying.
          -count n   Copy only n input blocks.
          -trunc n   If n is 0, open the output file without truncat-
                     ing it.
          -quiet n   If n is 1, omit the summary of blocks trans-
                     ferred.
          -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 (lines)
                        to fixed length blocks.
               unblock  Convert fixed length ASCII blocks to
                        variable-length lines.
               lcase    Map alphabetics to lower case.
               ucase    Map alphabetics to upper case.

     DD(1)                                                       DD(1)

               swab     Swap every pair of bytes.
               noerror  Do not stop processing on an error.
               sync     Pad every input block 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 block of size n. If `cbs' is unspecified or zero, the
          `ascii', `ebcdic', and `ibm' options convert the character
          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.