dd - convert and copy a file
dd [option=value] ...
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.
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 ibs and obs; also, if no
conversion is specified, it is particularly efficient since no copy need be
cbs=n conversion buffer size
skip=n skip n input records before starting copy
files=n copy n files from (tape) input
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
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
... , ... 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 sepa-
rated by x to indicate a product.
Cbs is used only if ascii or ebcdic conversion is specified. In the former case cbs char-
acters are placed into the conversion buffer, converted to ASCII, and trailing blanks
trimmed and new-line added before sending the line to the output. In the latter case
ASCII characters are read into the conversion buffer, converted to EBCDIC, and blanks
added to make up an output record of size cbs.
After completion, dd 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. Dd is especially suited to I/O on the raw physical devices
because it allows reading and writing in arbitrary record sizes.
To skip over a file before copying from magnetic tape do (dd of=/dev/null; dd of=x)
f+p records in(out): numbers of full and partial records read(written)
The ASCII/EBCDIC conversion tables are taken from the 256 character standard in the CACM
Nov, 1968. The `ibm' conversion, while less blessed as a standard, corresponds better to
certain IBM print train conventions. There is no universal solution.
Newlines are inserted only on conversion to ASCII; padding is done only on conversion to
EBCDIC. These should be separate options.