dd(1) General Commands Manual dd(1)
dd - copy and convert data
dd [option = value...]
The command copies an input file to an output with any requested conversions. The command is especially suited to I/O on the raw physical
devices because it allows reading and writing in arbitrary record sizes.
After completion, reports the number of whole and partial input and output blocks.
This utility supports EOT handling which allows the use of multiple media. The utility prompts for the next volume when it encounters the
end of the current volume.
Where sizes (n) are given for an option, the number may end with k for kilobytes (1024 bytes), b for blocks (512 bytes), or w for words (2
bytes). Also, two numbers may be separated by the character x to indicate a product.
if=name Input file name. The standard input is the default.
of=name Output file name. The standard output is the default.
ibs=n Input block size, n bytes. The default is 512 bytes. Some devices do not support greater than 65,535 bytes.
obs=n Output block size, n bytes. The default is 512 bytes. Some devices do not support greater than 65,535 bytes.
bs=n Set both input and output block size to n bytes, superseding ibs and obs. Also, if bs is specified, the copy is more
efficient, since no blocking conversion is necessary.
cbs=n Conversion buffer size, n bytes. Use only if ascii, unblock, ebcdic, ibm, or block conversion is specified. For ascii
and unblock, n characters are placed into the conversion buffer, any specified character mapping is done, trailing
blanks are trimmed and new line added before sending the line to the output. For ebcdic, ibm, or block, characters are
read into the conversion buffer, and blanks added to make an output record of size n bytes.
skip=n Skip n input records before starting to copy.
files=n Copy n input files before terminating. This option is useful only when the input is a magnetic tape or similar device.
seek=n Seek n records from beginning of output file before copying.
rbuf=n Use n buffers for reading from those raw devices that support n-buffered I/O. (See Section 4 to check whether a spe-
cific device supports n-buffered I/O.) All n reads are started and each read must complete before the data can be
used. This allows an n-buffered read-ahead on supported raw devices.
A default of eight read buffers are used if the read device supports n-buffered I/O and the write device does not.
The rbuf option cannot be used with the wbuf option.
wbuf=n Use n buffers for writing from those raw devices that support n-buffered I/O. (See Section 4 to check whether a spe-
cific device supports n-buffered I/O.) Each write is started but not known to be complete until all n buffers have
been used. (This allows an n-buffered write-behind on supported raw devices).
A default of eight write buffers are used if the write device supports n-buffered I/O.
The wbuf option cannot be used with the rbuf option.
count=n Copy only n input records.
conv=ascii Convert EBCDIC to ASCII.
conv=ebcdic Convert ASCII to EBCDIC.
conv=ibm Slightly different map of ASCII to EBCDIC (see RESTRICTIONS).
conv=block Convert variable length records to fixed length.
conv=unblock Convert fixed length records to variable length.
conv=lcase Map alphabetics to lower case.
conv=ucase Map alphabetics to upper case.
conv=swab Swap every pair of bytes.
conv=noerror Do not stop processing on an error.
conv=sync Pad every input record to ibs.
conv=nomulti Disable multiple tape volumes.
conv=sparse Create a sparse output file.
conv=... , ... Include several arguments for the conv option, separated by commas (see example below).
The following example shows how to read an EBCDIC tape blocked ten 80-byte EBCDIC card images per record into the ASCII file x:
dd if=/dev/rmt0h of=x ibs=800 cbs=80 conv=ascii,lcase
Note the use of raw magtape. As noted in the DESCRIPTION, the command is especially suited to I/O on the raw physical devices because it
allows reading and writing in arbitrary record sizes.
The ASCII/EBCDIC conversion tables are taken from the 256-character standard in the Communications of the ACM, (R)November, 1968.
The ibm conversion corresponds to certain IBM print train conventions.
One must specify ``conv=noerror,sync'' when copying raw disks with bad sectors to ensure that dd stays synchronized.
On SCSI tape devices when reading a multi-volume tape set the command will exit normally upon hitting EOT on any volume rather than auto-
matically unloading the volume and prompting for the next volume as is normal. The user should load the next volume and issue the command
f+p records in(out): numbers of full and partial records read(written)
cp(1), tr(1), nbuf(4)