1DC3DD(1) User Commands DC3DD(1)
2
3
4
6 dc3dd - convert and copy a file
7
9 ------ usage: ------
10
11 dc3dd [OPTION 1] [OPTION 2] ... [OPTION N]
12
13 *or*
14
15 dc3dd [HELP OPTION]
16
17 where each OPTION is selected from the basic or advanced options
18 listed below, or HELP OPTION is selected from the help options
19 listed below.
20
21 -------------- basic options: --------------
22
23 if=DEVICE or FILE
24 Read input from a device or a file (see note #1 below for how to
25 read from standard input). This option can only be used once and
26 cannot be combined with ifs=, pat=, or tpat=.
27
28 ifs=BASE.FMT
29 Read input from a set of files with base name BASE and sequen‐
30 tial file name extensions conforming to the format specifier FMT
31 (see note #4 below for how to specify FMT). This option can only
32 be used once and cannot be combined with if=, pat=, or tpat=.
33
34 of=FILE or DEVICE
35 Write output to a file or device (see note #2 below for how to
36 write to standard output). This option can be used more than
37 once (see note #3 below for how to generate multiple outputs).
38
39 hof=FILE or DEVICE
40 Write output to a file or device, hash the output bytes, and
41 verify by comparing the output hash(es) to the input hash(es).
42 This option can be used more than once (see note #3 below for
43 how to generate multiple outputs).
44
45 ofs=BASE.FMT
46 Write output to a set of files with base name BASE and sequen‐
47 tial file name extensions generated from the format specifier
48 FMT (see note #4 below for how to specify FMT). This option can
49 be used more than once (see note #3 below for how to generate
50 multiple outputs). Specify the maximum size of each file in the
51 set using ofsz=.
52
53 hofs=BASE.FMT
54 Write output to a set of files with base name BASE and sequen‐
55 tial file name extensions generated from the format specifier
56 FMT (see note #4 below for how to specify FMT). Hash the output
57 files and verify by comparing the output hash(es) to the input
58 hash(es). This option can be used more than once (see note #3
59 below for how to generate multiple outputs). Specify the maximum
60 size of each file in the set using ofsz=.
61
62 ofsz=BYTES
63 Set the maximum size of each file in the sets of files specified
64 using ofs= or hofs= to BYTES (see note #5 below). A default
65 value for this option may be set at compile time using -DDE‐
66 FAULT_OUTPUT_FILE_SIZE followed by the desired value in BYTES.
67
68 hash=ALGORITHM
69 Compute an ALGORITHM hash of the input and also of any outputs
70 specified using hof=, hofs=, or fhod=, where ALGORITHM is one of
71 md5, sha1, sha256, or sha512. This option may be used once for
72 each supported ALGORITHM. Alternatively, hashing can be acti‐
73 vated at compile time using one or more of -DDE‐
74 FAULT_HASH_MD5,-DDEFAULT_HASH_SHA1, -DDEFAULT_HASH_SHA256, and
75 -DDEFAULT_HASH_SHA512.
76
77 log=FILE
78 Log I/O statistcs, diagnostics, and total hashes of input and
79 output to FILE. If hlog= is not specified, piecewise hashes of
80 multiple file input and output are also logged to FILE. This op‐
81 tion can be used more than once to generate multiple logs.
82
83 hlog=FILE
84 Log total hashes and piecewise hashes to FILE. This option can
85 be used more than once to generate multiple logs.
86
87 mlog=FILE
88 Create hash log that is easier for machine to read
89
90 ----------------- advanced options: -----------------
91
92 fhod=DEVICE
93 The same as hof=DEVICE, with additional hashing of the entire
94 output DEVICE. This option can be used more than once (see note
95 #3 below for how to generate multiple outputs).
96
97 rec=off
98 By default, zeros are written to the output(s) in place of bad
99 sectors when the input is a device. Use this option to cause
100 the program to instead exit when a bad sector is encountered.
101
102 wipe=DEVICE
103 Wipe DEVICE by writing zeros (default) or a pattern specified by
104 pat= or tpat=.
105
106 hwipe=DEVICE
107 Wipe DEVICE by writing zeros (default) or a pattern specified by
108 pat= or tpat=. Verify DEVICE after writing it by hashing it and
109 comparing the hash(es) to the input hash(es).
110
111 pat=HEX
112 Use pattern as input, writing HEX to every byte of the output.
113 This option can only be used once and cannot be combined with
114 if=, ifs=, or tpat=.
115
116 tpat=TEXT
117 Use text pattern as input, writing the string TEXT repeatedly to
118 the output. This option can only be used once and cannot be com‐
119 bined with if=, ifs=, or pat=.
120
121 cnt=SECTORS
122 Read only SECTORS input sectors. Must be used with pat= or tpat=
123 if not using the pattern with wipe= or hwipe= to wipe a device.
124
125 iskip=SECTORS
126 Skip SECTORS sectors at start of the input device or file.
127
128 oskip=SECTORS
129 Skip SECTORS sectors at start of the output file. Specifying os‐
130 kip= automatically sets app=on.
131
132 app=on Do not overwrite an output file specified with of= if it already
133 exists, appending output instead.
134
135 ssz=BYTES
136 Unconditionally use BYTES (see note #5 below) bytes for sector
137 size. If ssz= is not specified, sector size is determined by
138 probing the device; if the probe fails or the target is not a
139 device, a sector size of 512 bytes is assumed.
140
141 bufsz=BYTES
142 Set the size of the internal byte buffers to BYTES (see note #5
143 below). This effectively sets the maximum number of bytes that
144 may be read at a time from the input. BYTES must be a multiple
145 of sector size. Use this option to fine-tune performance.
146
147 verb=on
148 Activate verbose reporting, where sectors in/out are reported
149 for each file in sets of files specified using ifs=, ofs=, or
150 hofs=. Alternatively, verbose reporting may be activated at
151 compile time using -DDEFAULT_VERBOSE_REPORTING.
152
153 nwspc=on
154 Activate compact reporting, where the use of white space to di‐
155 vide log output into logical sections is suppressed. Alterna‐
156 tively, compact reporting may be activated at compile time using
157 -DDEFAULT_COMPACT_REPORTING.
158
159 b10=on Activate base 10 bytes reporting, where the progress display re‐
160 ports 1000 bytes instead of 1024 bytes as 1 KB. Alternatively,
161 base 10 bytes reporting may be activated at compile time using
162 -DDEFAULT_BASE_TEN_BYTES_REPORTING.
163
164 corruptoutput=on
165 For verification testing and demonstration purposes, corrupt the
166 output file(s) with extra bytes so a hash mismatch is guaran‐
167 teed.
168
169 ------------- help options: -------------
170
171 --help display this help and exit
172
173 --version
174 output version information and exit
175
176 --flags
177 display compile-time flags and exit
178
179 ------ notes: ------
180
181 1. To read from stdin, do not specify if=, ifs=, pat=, or tpat=. 2. To
182 write to stdout, do not specify of=, hof=, ofs=, hofs=, fhod=,
183
184 wipe=, or hwipe=.
185
186 3. To write to multiple outputs specify more than one of of=, hof=,
187 ofs=,
188
189 hofs=, or fhod=, in any combination.
190
191 4. FMT is a pattern for a sequence of file extensions that can be nu‐
192 merical
193
194 starting at zero, numerical starting at one, or alphabetical.
195 Specify FMT by using a series of zeros, ones, or a's, respec‐
196 tively. The number of characters used indicates the desired
197 length of the extensions. For example, a FMT specifier of 0000
198 indicates four character numerical extensions starting with
199 0000.
200
201 5. BYTES may be followed by the following multiplicative suffixes:
202 c (1), w (2), b (512), kB (1000), K (1024), MB (1000*1000), M
203 (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on
204 for T, P, E, Z, and Y.
205
206 6. Consider using cnt=, iskip= and oskip= to work around
207
208 unreadable sectors if error recovery fails.
209
210 7. Sending an interrupt (e.g., CTRL+C) to dc3dd will cause
211
212 the program to report the work completed at the time the inter‐
213 rupt is received and then exit.
214
215 dc3dd completed at 2023-04-04 18:08:06 -0400
216
218 Written by Paul Rubin, David MacKenzie, Stuart Kemp, Jesse Kornblum,
219 Andrew Medico, Richard Cordovano, Justin Lowe, Frank Westerman, and
220 Joseph Lininger.
221
223 Report bugs to <dc3dd@dc3.mil>.
224
226 Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU
227 GPL version 3 or later <http://gnu.org/licenses/gpl.html>
228 This is free software: you are free to change and redistribute it.
229 There is NO WARRANTY, to the extent permitted by law.
230
232 The full documentation for dc3dd is maintained as a Texinfo manual. If
233 the info and dc3dd programs are properly installed at your site, the
234 command
235
236 info dc3dd
237
238 should give you access to the complete manual.
239
240
241
242dc3dd 7.3.1 April 2023 DC3DD(1)