quickdd(1M) quickdd(1M)
NAME
quickdd - copy a file
SYNOPSIS
quickdd [options ...]
DESCRIPTION
quickdd is a fast version of dd(1) which forks a read and a write pro-
cess to achieve a high-performance data transfer. This utility uses
the same syntax as dd, but does not support any data conversions. The
transferred date for the two processes is held in a large circular
buffer in shared memory. Process synchronization is performed with IPC
(InterProcess Communication) semaphores.
Standard input and output are used by default. The input and output
block sizes can be specified to take advantage of raw physical I/O.
OPTIONS
if=file input file name; standard input is the default.
of=file output file name; standard output is the default.
ibs=n input block size n bytes (default 32768).
obs=n output block size n bytes (default 32768).
bs=n sets both input and output block size, superseding ibs and
obs.
skip=n skips n input blocks before starting copy (appropriate for
magnetic tape, where iseek is not defined).
iseek=n seeks n blocks from beginning of input file before copying
(appropriate for disk files, where skip can be incredibly
slow).
oseek=n seeks n blocks from beginning of output file before copying.
seek=n identical to oseek, retained for backward compatibility.
count=n copies only n input blocks.
conv=sync pads every input block to ibs, if ibs is equal to obs. No
other conversions are supported.
Where sizes are specified, a number of bytes is expected. A number can
end with k, b, or w to specify multiplication by 1024, 512, or 2
respectively; a pair of numbers may be separated by x to indicate mul-
tiplication.
After completion, quickdd reports the number of whole and partial
blocks, the number of transferred bytes, and the transfer rate in
Page 1 Reliant UNIX 5.44 Printed 11/98
quickdd(1M) quickdd(1M)
kilobytes/s for input and output. The transfer rates are measured
irrespective of the read and write processes and include the elapsed
time for all reads or writes.
NOTES
Do not use quickdd to copy files between file systems with different
block sizes. The best performance depends on the type of the raw
device and will be achieved with block sizes between 8 and 128 KBytes.
Using a blocked device to copy a file results in extra nulls being
added to the file to pad the final block to the block boundary.
ibs and obs may differ, but quickdd will object if one of them is not
aligned to 4.
Because IPC resources are being used (shared memory and semaphores),
these resources will not be removed if quickdd is killed with the sig-
nal SIGKILL. In this case, remove these resources with ipcrm.
DIAGNOSTICS
f+p records in(out) t bytes tr kB/s
numbers of full and partial blocks read(written), total bytes and the
transfer rate.
Example:
1000+0 records in, 8192000 bytes 171.67 kB/s
1000+0 records out, 8192000 bytes 233.24 kB/s
SEE ALSO
cp(1), dd(1), ipcrm(1).
Page 2 Reliant UNIX 5.44 Printed 11/98