dcfldd(1) enhanced version of dd for forensics and security

SYNOPSIS

dcfldd [OPTION]...

DESCRIPTION

Copy a file, converting and formatting according to the options.
bs=BYTES
force ibs=BYTES and obs=BYTES
cbs=BYTES
convert BYTES bytes at a time
conv=KEYWORDS
convert the file as per the comma separated keyword list
count=BLOCKS
copy only BLOCKS input blocks
ibs=BYTES
read BYTES bytes at a time
if=FILE
read from FILE instead of stdin
obs=BYTES
write BYTES bytes at a time
of=FILE
write to FILE instead of stdout
NOTE: of=FILE may be used several times to write
output to multiple files simultaneously
of:=COMMAND
exec and write output to process COMMAND
seek=BLOCKS
skip BLOCKS obs-sized blocks at start of output
skip=BLOCKS
skip BLOCKS ibs-sized blocks at start of input
pattern=HEX
use the specified binary pattern as input
textpattern=TEXT
use repeating TEXT as input
errlog=FILE
send error messages to FILE as well as stderr
hashwindow=BYTES
perform a hash on every BYTES amount of data
hash=NAME
either md5, sha1, sha256, sha384 or sha512
default algorithm is md5. To select multiple algorithms to run simultaneously enter the names in a comma separated list
hashlog=FILE
send MD5 hash output to FILE instead of stderr
if you are using multiple hash algorithms you can send each to a separate file using the convention ALGORITHMlog=FILE, for example md5log=FILE1, sha1log=FILE2, etc.
hashlog:=COMMAND
exec and write hashlog to process COMMAND
ALGORITHMlog:=COMMAND also works in the same fashion
hashconv=[before|after]
perform the hashing before or after the conversions
hashformat=FORMAT
display each hashwindow according to FORMAT
the hash format mini-language is described below
totalhashformat=FORMAT
display the total hash value according to FORMAT
status=[on|off]
display a continual status message on stderr
default state is "on"
statusinterval=N
update the status message every N blocks
default value is 256
sizeprobe=[if|of]
determine the size of the input or output file
for use with status messages. (this option gives you a percentage indicator) WARNING: do not use this option against a
tape device.
split=BYTES
write every BYTES amount of data to a new file
This operation applies to any of=FILE that follows
splitformat=TEXT
the file extension format for split operation.
you may use any number of 'a' or 'n' in any combo the default format is "nnn" NOTE: The split and splitformat options take effect
only for output files specified AFTER these options appear in the command line. Likewise, you may specify these several times for for different output files within the same command line. you may use as many digits in any combination you would like. (e.g. "anaannnaana" would be valid, but quite insane)
vf=FILE
verify that FILE matches the specified input
verifylog=FILE
send verify results to FILE instead of stderr
verifylog:=COMMAND
exec and write verify results to process COMMAND
--help
display this help and exit
--version
output version information and exit

The structure of of FORMAT may contain any valid text and special variables. The built-in variables are used the following format: #variable_name# To pass FORMAT strings to the program from a command line, it may be necessary to surround your FORMAT strings with "quotes." The built-in variables are listed below:

window_start
The beginning byte offset of the hashwindow
window_end
The ending byte offset of the hashwindow
block_start
The beginning block (by input blocksize) of the window
block_end
The ending block (by input blocksize) of the hash window
hash
The hash value
algorithm
The name of the hash algorithm

For example, the default FORMAT for hashformat and totalhashformat are:

hashformat="#window_start# - #window_end#: #hash#" totalhashformat="Total (#algorithm#): #hash#"

The FORMAT structure accepts the following escape codes:

\n
Newline
\t
Tab
\r
Carriage return
\\
Insert the '\' character
##
Insert the '#' character as text, not a variable

BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576, GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y. Each KEYWORD may be:

ascii
from EBCDIC to ASCII
ebcdic
from ASCII to EBCDIC
ibm
from ASCII to alternated 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
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

AUTHOR

Written by: dcfldd by Nicholas Harbour, GNU dd by Paul Rubin, David MacKenzie and Stuart Kemp.

REPORTING BUGS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright © 1985-2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.