DD(1)

NAME
dd - convert and copy a file

SYNOPSIS
dd [option=value] . . .

DESCRIPTION
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.

OPTIONS

if= Input filename; standard input is default

of= Output filename; standard output is default

ibs=
    n input block size n bytes (default 512)

obs=
    n output block size (default 512)

bs= Set both input and output block size, superseding ibs and obs. If no conversion is specified, this function is particularly efficient, because there is no need to copy.

cbs=
    Conversion buffer size

skip=
    Skip n input records before starting copy

files=
    Copy n input files before terminating (where input is a magtape or similar device)

seek=
    Seek n records from beginning of output file before copying

count=
    Copy only n input records

The following conversion options are specified by conv=[option]:

ascii
    Convert EBCDIC to ASCII

ebcdic
    Convert ASCII to EBCDIC

ibm Slightly different map of ASCII to EBCDIC

block
    Convert variable length records to fixed length

unblock
    Convert fixed length records to variable length

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 sizeof(int); a pair of numbers may be separated by x to indicate a product.

Cbs is used only if ascii, unblock, ebcdic, ibm, or block conversion is specified. In the first two cases, cbs characters are placed into the conversion buffer, any specified character mapping is done, trailing blanks are trimmed, and newline is added before sending the line to the output. In the latter three cases, characters are read into the conversion buffer and blanks are added to make up an output record of size cbs.

After completion, dd reports the number of whole and partial input and output blocks.

EXAMPLES
To read an EBCDIC tape, blocked ten 80-byte EBCDIC card images per record, into ASCII file x, type this command:

    dd if=/dev/rmt0 of=x ibs=800
    cbs=f2180 conv=ascii,lcase

Note that raw magtape is used. Dd is especially suited to I/O on raw physical devices, because it allows reading and writing in arbitrary record sizes.

SEE ALSO
cp(1), tr(1)

DIAGNOSTICS
f+p records in(out): numbers of full and partial records read(written)

BUGS
The ASCII/EBCDIC conversion tables are taken from the 256-character standard in the CACM, Nov, 1968. The ibm conversion, while less accepted as a standard, corresponds better to certain IBM print train conventions. There is no universal solution.

To ensure that dd stays synchronized, specify the following when copying raw disks with bad sectors:

    conv=noerror,sync