`dd': Convert and copy a file
=============================
`dd' copies a file (from standard input to standard output, by
default) with a changeable I/O block size, while optionally performing
conversions on it. Synopsis:
dd [OPTION]...
The program accepts the following options. Also see Note:Common
options.
The numeric-valued options below (BYTES and BLOCKS) can be followed
by a multiplier: `b'=512, `c'=1, `w'=2, `xM'=M, or any of the standard
block size suffixes like `k'=1024 (Note:Block size).
Use different `dd' invocations to use different block sizes for
skipping and I/O. For example, the following shell commands copy data
in 512 kB blocks between a disk and a tape, but do not save or restore a
4 kB label at the start of the disk:
disk=/dev/rdsk/c0t1d0s2
tape=/dev/rmt/0
# Copy all but the label from disk to tape.
(dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tape
# Copy from tape back to disk, but leave the disk label alone.
(dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$disk
`if=FILE'
Read from FILE instead of standard input.
`of=FILE'
Write to FILE instead of standard output. Unless `conv=notrunc'
is given, `dd' truncates FILE to zero bytes (or the size specified
with `seek=').
`ibs=BYTES'
Read BYTES bytes at a time.
`obs=BYTES'
Write BYTES bytes at a time.
`bs=BYTES'
Both read and write BYTES bytes at a time. This overrides `ibs'
and `obs'.
`cbs=BYTES'
Convert BYTES bytes at a time.
`skip=BLOCKS'
Skip BLOCKS `ibs'-byte blocks in the input file before copying.
`seek=BLOCKS'
Skip BLOCKS `obs'-byte blocks in the output file before copying.
`count=BLOCKS'
Copy BLOCKS `ibs'-byte blocks from the input file, instead of
everything until the end of the file.
`conv=CONVERSION[,CONVERSION]...'
Convert the file as specified by the CONVERSION argument(s). (No
spaces around any comma(s).)
Conversions:
`ascii'
Convert EBCDIC to ASCII.
`ebcdic'
Convert ASCII to EBCDIC.
`ibm'
Convert ASCII to alternate EBCDIC.
`block'
For each line in the input, output `cbs' bytes, replacing the
input newline with a space and padding with spaces as
necessary.
`unblock'
Replace trailing spaces in each `cbs'-sized input block with a
newline.
`lcase'
Change uppercase letters to lowercase.
`ucase'
Change lowercase letters to uppercase.
`swab'
Swap every pair of input bytes. GNU `dd', unlike others,
works when an odd number of bytes are read--the last byte is
simply copied (since there is nothing to swap it with).
`noerror'
Continue after read errors.
`notrunc'
Do not truncate the output file.
`sync'
Pad every input block to size of `ibs' with trailing zero
bytes. When use with `block' or `unblock', pad with spaces
instead of zero bytes.