DC3DD(1)

NAME
dc3dd - convert and copy a file

SYNOPSIS
dc3dd [OPERAND]...
dc3dd OPTION

DESCRIPTION

Copy a file, converting and formatting according to the operands.

bs=BYTES
    force ibs=BYTES and obs=BYTES

cbs=BYTES
    convert BYTES bytes at a time

conv=CONVS
    convert the file as per the comma separated symbol list

count=SECTORS
    copy only SECTORS input sectors

ibs=BYTES
    read BYTES bytes at a time (must be a multiple of input sector size)

if=FILE
    read from FILE instead of stdin

ifjoin=BASE.FMT
    read from split files with name BASE and splitformat FMT

iflag=FLAGS
    read as per the comma separated symbol list

pattern=HEX
    write HEX to every byte of the output

textpattern=TEXT
    write the string TEXT repeatedly to the output

obs=BYTES
    write BYTES bytes at a time

of=FILE
    write to FILE instead of stdout

of:=COMMAND
    pipe output to the given command

oflag=FLAGS
    write as per the comma separated symbol list

wipe=FILE
    wipe device FILE with zeros (or specify pattern/textpattern)

seek=SECTORS
    skip SECTORS input sectors at start of output

skip=SECTORS
    skip SECTORS input sectors at start of input

status=noxfer
    suppress transfer statistics

split=BYTES
    split the output into pieces of size BYTES

splitformat=FMT
    create extensions for split pieces using FMT

    Extensions can be numerical starting at zero, numerical starting at one, or alphabetical. These options are selected by using a series of zeros, ones, or a's, respectively. The number of characters used indicates the desired length of the extensions. For example, splitformat=1111 indicates four character numerical extensions starting with 0001.

progress=on
    displays a progress meter

progresscount=NUM
    number of blocks processed between each progress update

sizeprobe=on
    estimates size of input file for use with status

hash=ALGORITHM
    computes ALGORITHM hashes of the input data

hashconv=WHEN
    determines when data should be hashed, either before or after conversions

hashwindow=BYTES
    number of bytes for piecewise hashing

hashlog=FILE
    appends piecewise hashes to the log file

errlog=FILE
    appends errors to the log file

log=FILE
    appends hashes and errors to the same file

errors=group
    group read errors together

vf=FILE
    verify the input against FILE

    vfjoin=BASE.FMT verify the input against split files with name BASE and splitformat FMT verifylog=FILE write the results of the verify to the given file

ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512

BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

Each CONV symbol may be:

ascii
    from EBCDIC to ASCII

ebcdic
    from ASCII to EBCDIC

ibm from ASCII to alternate EBCDIC

block
    pad newline-terminated records with spaces to cbs-size

unblock
    replace trailing spaces in cbs-size records with newline

lcase
    change upper case to lower case

nocreat
    do not create the output file

excl
    fail if the output file already exists

notrunc
    do not truncate the output file

ucase
    change lower case to upper case

swab
    swap every pair of input bytes

noerror
    continue after read errors

sync
    pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs

fdatasync
    physically write output file data before finishing

fsync
    likewise, but also write metadata

Each FLAG symbol may be:

append
    append mode (makes sense only for output; conv=notrunc suggested)

direct
    use direct I/O for data

    directory fail unless a directory dsync use synchronized I/O for data sync likewise, but also for metadata nonblock use non-blocking I/O noatime do not update access time noctty do not assign controlling terminal from file nofollow do not follow symlinks

Sending a USR1 signal to a running `dd' process makes it print I/O statistics to standard error and then resume copying.

    $ dd if=/dev/zero of=/dev/null& pid=$!
    $ kill -USR1 $pid; sleep 1; kill $pid

    18335302+0 sectors in 18335302+0 sectors out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s

Options are:

--help
    display this help and exit

--version
    output version information and exit

--flags
    display compile-time flags

AUTHOR
Written by Paul Rubin, David MacKenzie, Stuart Kemp, and patched for DC3 by Jesse Kornblum and Andrew Medico.

REPORTING BUGS
Report bugs to <dc3dd@dc3.mil>.

COPYRIGHT
Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
The full documentation for dc3dd is maintained as a Texinfo manual. If the info and dc3dd programs are properly installed at your site, the command

    info dc3dd

should give you access to the complete manual.