|HP-UX Reference > D
HP-UX 11i Version 3: February 2007
dd — convert, reblock, translate, and copy a (tape) file
dd copies the specified input file to the specified output file with possible conversions. The standard input and output are used by default. Input and output block size can be specified to take advantage of raw physical I/O. Upon completion, dd reports the number of whole and partial input and output records.
dd recognizes the following option=value pairs:
Where sizes are required, n indicates a numerical value in bytes. Numbers can be specified using the forms:
To indicate a product, use x to separate number pairs.
The cbs option is used when block, unblock, ascii or ebcdic conversion is specified. In case of ascii, cbs characters are placed into the conversion buffer, converted to ASCII, trailing blanks are trimmed, and a newline is added before sending the line to the output. In case of ebcdic, ASCII characters are read into the conversion buffer, converted to EBCDIC, and blanks are added to make up an output block of size cbs.
The following environment variables affect execution of dd:
LANG determines the locale when LC_ALL and a corresponding variable (beginning with LC_) do not specify a locale.
LC_ALL determines the locale used to override any values set by LANG or any environment variables beginning with LC_.
The LC_CTYPE variable determines the locale for the interpretation of sequences of bytes of text data as characters (single-byte/multi-byte characters, upper-case/lower-case characters).
The LC_MESSAGES variable determines the language in which messages are written.
Upon completion, dd reports the number of input and output records:
When conv=block is specified and there is at least one truncated block, the number of truncated records is also reported:
n truncated records
Read an EBCDIC tape blocked ten 80-byte EBCDIC card images per block into an ASCII file named x:
dd if=/dev/rmt/c0t0d0BEST of=x ibs=800 cbs=80 conv=ascii,lcase
Note the use of the raw magnetic tape device file. dd is especially suited to I/O on raw physical devices because it allows reading and writing in arbitrary block sizes.
Some devices, such as 1/2-inch magnetic tapes, are incapable of seeking. Such devices may be positioned prior to running dd by using mt(1) or some other appropriate command. The skip, seek, iseek and oseek options do work for such devices. However, skipping blocks using these options is slow on devices that cannot seek, since the blocks must actually be read to get to the desired position on the tape.
ASCII and EBCDIC conversion tables are taken from the 256-character ACM standard, Nov, 1968. The ibm conversion, while less widely accepted as a standard, corresponds better to certain IBM print train conventions. There is no universal solution.
Newline characters are inserted only on conversion to ASCII; padding is done only on conversion to EBCDIC. These should be separate options.
If if or of refers to a raw disk, bs should always be a multiple of the sector size of the disk. By default, bs is 512 bytes. If the sector size of the disk is different from 512 bytes, bs should be specified using a multiple of sector size. The character special (raw) device file should always be used for devices.
It is entirely up to the user to insure there is enough room in the destination file, file system and/or device to contain the output since dd cannot pre-determine the required space after conversion.