|DD(1)||General Commands Manual||DD(1)|
dd — convert and
copy a file
dd utility copies the standard input
to the standard output, applying any specified conversions. Input data is
read and written in 512-byte blocks. If input reads are short, input from
multiple reads are aggregated to form the output block. When finished,
dd displays the number of complete and partial input
and output blocks and truncated input records to the standard error
The following operands are available:
notruncconversion value is specified. If an initial portion of the output file is skipped (see the
seekoperand), the output file is truncated at that point.
obsoperands. If no conversion values other than
syncare specified, then each input block is copied to the output as a single block without any aggregation of short blocks.
conv=value[, value ...]
unblockvalue except that characters are translated from EBCDIC to ASCII before the records are converted. (These values imply
unblockif the operand
cbsis also specified.) There are two conversion maps for ASCII. The value
asciispecifies the recommended one which is compatible with AT&T System V UNIX. The value
oldasciispecifies the one used in historic AT&T UNIX and pre-4.3BSD-Reno systems.
cbsoperand. Input records shorter than the conversion record size are padded with spaces. Input records longer than the conversion record size are truncated. The number of truncated input records, if any, is reported to the standard error output at the completion of the copy.
blockvalue except that characters are translated from ASCII to EBCDIC after the records are converted. (These values imply
blockif the operand
cbsis also specified.) There are four conversion maps for EBCDIC. The value
ebcdicspecifies the recommended one which is compatible with AT&T System V UNIX. The value
ibmis a slightly different mapping, which is compatible with the AT&T System V UNIX
ibmvalue. The values
oldibmare maps used in historic AT&T UNIX and pre-4.3BSD-Reno systems.
syncconversion is also specified, any missing input data will be replaced with NUL bytes (or with spaces if a block oriented conversion value was specified) and processed as a normal input buffer. If the
syncconversion is not specified, the input block is omitted from the output. On input files which are not tapes or pipes, the file offset will be positioned past the block in which the error occurred using lseek(2).
notruncvalue is not supported for tapes.
bs=n block size specification.
cbsoperand. Any trailing space characters are discarded and a newline character is appended.
Where sizes are specified, a decimal number of bytes is expected. If the number ends with a ‘b’, ‘k’ or ‘K’, ‘m’ or ‘M’, or ‘w’, the number is multiplied by 512, 1024 (1K), 1048576 (1M), or the number of bytes in an integer, respectively. Two or more numbers may be separated by an ‘x’ to indicate a product.
dd displays the number of
complete and partial input and output blocks, truncated input records, and
odd-length byte-swapping blocks to the standard error output. A partial
input block is one where less than the input block size was read. A partial
output block is one where less than the output block size was written.
Partial output blocks to tape devices are considered fatal errors.
Otherwise, the rest of the block will be written. Partial output blocks to
character devices will produce a warning message. A truncated input block is
one where a variable length record oriented conversion value was specified
and the input line was too long to fit in the conversion record or was not
Normally, data resulting from input or conversion or both are aggregated into output blocks of the specified size. After the end of input is reached, any remaining output is written as a block. This means that the final output block may be shorter than the output block size.
dd receives a
SIGINFO (see the “status” argument for
stty(1)) signal, the current
input and output block counts will be written to the standard error output
in the same format as the standard completion message. If
dd receives a
the current input and output block counts will be written to the standard
error output in the same format as the standard completion message and
dd will exit.
dd utility exits 0 on success,
and >0 if an error occurs.
Write an OpenBSD floppy image to a floppy disk:
# dd if=floppy34.fs of=/dev/rfd0c bs=32k
Create an ISO-9660 image of a CD-ROM:
# dd if=/dev/rcd0c of=disk.iso bs=32k
dd utility is compliant with the
IEEE Std 1003.1-2008 (“POSIX.1”)
ibm are marked
by IEEE Std 1003.1-2008 (“POSIX.1”) as
being an X/Open System Interfaces option.
status operands, the conversions
osync, the size
multipliers ‘K’, ‘m’, ‘M’, and
SIGINFO handling are all
extensions to the IEEE Std 1003.1-2008
|February 14, 2014||OpenBSD-5.5|