dd - Converts and copies a file
Interfaces documented on this reference page conform to
industry standards as follows:
dd: XCU5.0, SVID 4
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The option=value operand set may take any of the following
forms: Specifies the input file name; standard input is
the default. Specifies the output file name; standard
output is the default. For the above operands, the application
must supply an expression specifying a size in
bytes. The expression, expr can be: a positive decimal
number a positive decimal number followed by k specifying
mutiplication by 1024 a positive decimal number followed
by b specifying multiplication by 512 two or more positive
decimal numbers with or without k or b separated by x,
specifying the product of the indicated values.
All the operands will be processed before any input
is read. Skips number input records before starting
copy. [Tru64 UNIX] Copies number input files
before terminating (makes sense only where input is
a magnetic tape or similar device). [Tru64
UNIX] Seeks to the Nth record from the beginning
of input file before copying. [Tru64 UNIX] Seeks
to the Nth record from the beginning of output file
before copying. Same as seek=number. Seeks to the
Nth record from the beginning of output file before
copying. Same as oseek=number. Copies only number
input records. Specifies one or more of the following
conversions: Converts EBCDIC to ASCII. Converts
variable-length records to fixed-length.
Converts ASCII to EBCDIC. Converts IBM-EBCDIC to
ASCII. Performs a slightly different map of ASCII
to EBCDIC. Converts fixed-length records to variable-length.
Makes all alphabetic characters lower
case. Makes all alphabetic characters upper case.
Swaps every pair of bytes. Does not stop processing
on an error. Pads every input record to ibs.
[Tru64 UNIX] Creates a sparse output file as
described in AdvFS Administration. Do not truncate
the output file. Preserve blocks in the output file
not explicitly written by this invocation of the dd
utility. (See the of=output_file operand.) Allows
several comma-separated conversions.
The dd command reads the specified input file or standard
input, does the specified conversions, and copies it to
the specified output file or standard output. The input
and output block size may be specified to take advantage
of raw physical I/O. The terms block and record refer to
the quantity of data read or written by dd in one operation
and are not necessarily the same size as a disk
Where sizes are specified, a number of bytes is expected.
A number may end with w, b, or k to specify multiplication
by 2, 512, or 1024, respectively; a pair of numbers can be
separated by an x to indicate a product.
The cbs specification is used if one of the following conversions
is specified: ascii, unblock, ebcdic, ibm, or
block. For the first two conversions, dd places characters
in a conversion buffer of size cbs, converts these
characters to ASCII, trims trailing spaces, and adds newline
characters before sending data to the specified output.
For the latter three cases, dd places ASCII characters
in the conversion buffer, converts these characters
to EBCDIC, and adds trailing spaces to create an output
record of size cbs.
After it finishes, dd reports the number of whole and partial
input and output blocks.
[Tru64 UNIX] To copy to a raw disk, the disk label must
first be zeroed using the disklabel -z command. For example:
disklabel -z /dev/disk/dsk1
[Tru64 UNIX] If you do not zero out the disk
label, dd fails with the following error message:
dd write error: Read-only file system The
ASCII/EBCDIC conversion tables are taken from the
256 character standard in the CACM November, 1968.
There is no universal standard for EBCDIC/ASCII
translation. [Tru64 UNIX] One must specify
conv=noerror,sync when copying raw disks with bad
sectors to ensure dd stays synchronized. [Tru64
UNIX] Certain combinations of arguments to conv=
are permitted. However, the block or unblock
option cannot be combined with ascii, ebcdic, or
ibm. Invalid combinations silently ignore all but
the last mutually exclusive keyword. [Tru64
UNIX] If you need to use dd to copy to a streaming
tape and the data is an odd length (not a multiple
of 512 bytes), you must use the conv=sync flag to
fill the last record. Streaming tape devices permit
only multiples of 512 bytes. [Tru64 UNIX] If
option bs is used (or bs is equal to obs) and no
conversion is specified, then dd is particularly
efficient since less memory copies are done.
[Tru64 UNIX] The dd command does not support
floppy disk multivolumes, but it does support tape
multivolumes. This means that when ENOSPC is
returned while reading or writing a tape, dd will
prompt the user for a new tape.
[Tru64 UNIX] In order to make use of tape multivolumes,
the files option must be used.
Security Note [Toc] [Back]
[Tru64 UNIX] Any file system archive that contains ACLs
(access control lists) that was created using dd is not
exportable unless the target system has the exact same
password and group files. If there is a mismatch, incorrect
access may be granted to a file or directory.
The following exit values are returned: The input file was
successfully copied. An error occurred
This message specifies the number of full and partial
records both read and written:
f+p records in f+p records out
The number of full records read or written (f) refers to
the blocks of data of size ibs or obs. The number of partial
records read or written (p) refers to the blocks of
data smaller than ibs or obs.
To read an EBCDIC tape blocked ten 80-byte EBCDIC card
images per record into the ASCII file x, enter: dd
if=/dev/tape/tape0_d0 of=x ibs=800 cbs=80 conv=ascii,lcase
Note the use of raw magnetic tape. The dd command
is especially suited to I/O on the raw physical
devices because it allows reading and writing in
arbitrary record sizes. To convert an ASCII text
file to EBCDIC, enter: dd if=text.ascii
This converts text.ascii to EBCDIC representation,
storing this in text.ebcdic.
ENVIRONMENT VARIABLES [Toc] [Back]
The following environment variables affect the execution
of dd: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset or
null, the corresponding value from the default locale is
used. If any of the internationalization variables contain
an invalid setting, the utility behaves as if none of the
variables had been defined. If set to a non-empty string
value, overrides the values of all the other internationalization
variables. Determines the locale for the interpretation
of sequences of bytes of text data as characters
(for example, single-byte as opposed to multibyte characters
in arguments). Determines the locale for the format
and contents of diagnostic messages written to standard
error. Determines the location of message catalogues for
the processing of LC_MESSAGES.
Commands: cp(1), cpio(1), sed(1), tar(1), tr(1), trbsd(1)
Command and Shell User's Guide
[ Back ]