


DD(1)		    UNIX Programmer's Manual		    DD(1)



NAME
     dd - convert and copy a file

SYNOPSIS
     dd [option=value] ...

DESCRIPTION
     _D_d 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.

     _o_p_t_i_o_n	    _v_a_l_u_e_s
     if=	    input file name; standard input is default
     of=	    output file name; standard output is default
     ibs=_n	    input block size _n bytes (default 512)
     obs=_n	    output block size (default 512)
     bs=_n	    set both input and output block size,
		    superseding _i_b_s and _o_b_s; also, if no conver-
		    sion is specified, it is particularly effi-
		    cient since no copy need be done
     cbs=_n	    conversion buffer size
     skip=_n	    skip _n input records before starting copy
     files=_n	    copy _n input files before terminating (makes
		    sense only where input is a magtape or simi-
		    lar device).
     seek=_n	    seek _n records from beginning of output file
		    before copying
     count=_n	    copy only _n input records
     conv=ascii     convert EBCDIC to ASCII
	  ebcdic    convert ASCII to EBCDIC
	  ibm	    slightly different map of ASCII to EBCDIC
	  block     convert variable length records to fixed
		    length
	  unblock   convert fixed length 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 _i_b_s
	  ... , ... several comma-separated conversions

     Where sizes are specified, a number of bytes is expected.	A
     number may end with k, b or w to specify multiplication by
     1024, 512, or 2 respectively; a pair of numbers may be
     separated by x to indicate a product.

     _C_b_s is used only if _a_s_c_i_i, _u_n_b_l_o_c_k, _e_b_c_d_i_c, _i_b_m, or _b_l_o_c_k
     conversion is specified.  In the first two cases, _c_b_s char-
     acters are placed into the conversion buffer, any specified
     character mapping is done, trailing blanks trimmed and new-



Printed 11/26/99	 April 29, 1985                         1






DD(1)		    UNIX Programmer's Manual		    DD(1)



     line added before sending the line to the output.	In the
     latter three cases, characters are read into the conversion
     buffer, and blanks added to make up an output record of size
     _c_b_s.

     After completion, _d_d reports the number of whole and partial
     input and output blocks.

     For example, to read an EBCDIC tape blocked ten 80-byte
     EBCDIC card images per record into the ASCII file _x:


	  dd if=/dev/rmt0 of=x ibs=800 cbs=80 conv=ascii,lcase

     Note the use of raw magtape.  _D_d is especially suited to I/O
     on the raw physical devices because it allows reading and
     writing in arbitrary record sizes.

SEE ALSO
     cp(1), tr(1)

DIAGNOSTICS
     f+p records in(out): numbers of full and partial records
     read(written)

BUGS
     The ASCII/EBCDIC conversion tables are taken from the 256
     character standard in the CACM Nov, 1968.	The `ibm' conver-
     sion, while less blessed as a standard, corresponds better
     to certain IBM print train conventions.  There is no univer-
     sal solution.
     One must specify ``conv=noerror,sync'' when copying raw
     disks with bad sectors to insure _d_d stays synchronized.

     Certain combinations of arguments to _c_o_n_v= are permitted.
     However, the _b_l_o_c_k or _u_n_b_l_o_c_k option cannot be combined with
     _a_s_c_i_i, _e_b_c_d_i_c or _i_b_m.  Invalid combinations _s_i_l_e_n_t_l_y _i_g_n_o_r_e
     all but the last mutually-exclusive keyword.

















Printed 11/26/99	 April 29, 1985                         2



