DD(1) | General Commands Manual | DD(1) |
dd
—
dd |
[operand ...] |
dd
utility copies the standard input to the standard
output. Input data is read and written in 512-byte blocks. If input reads are
short, input from multiple reads are aggregated to form the output block. When
finished, dd
displays the number of complete and
partial input and output blocks and truncated input records to the standard
error output.
The following operands are available:
bs=
nibs
and obs
operands. If
no conversion values other than noerror
,
notrunc
or sync
are
specified, then each input block is copied to the output as a single block
without any aggregation of short blocks.cbs=
ncount=
nfiles=
nibs=
nif=
fileiflag=
flagsiseek=
nskip=
n.msgfmt=
fmtprogress
.When fmt does not correspond to any
value given above, it contains a string that will be used as format
specifier for the information summary output. Each conversion
specification is introduced by the character %
.
The following ones are available:
obs=
nof=
filenotrunc
conversion value is specified. If an
initial portion of the output file is skipped (see the
seek
operand) the output file is truncated at that
point.oflag=
flagsiflag
but for the call to
open(2) on the output file.
The default value is creat, which must be explicitly
added in oflag
if this option is used in order to
output to a nonexistent file. The default or specified value is or'ed with
rdwr for a first
open(2) attempt, then on
failure with wronly on a second attempt. In both
cases, trunc is automatically added if none of
oseek
, seek
, or
conv=notrunc
operands are used. See the
INPUT AND OUTPUT FLAGS
section for details.oseek=
nseek=
n.seek=
nskip=
nprogress=
nconv=
value
[,value...
]value
is one of the symbols from the
following list.
ascii
,
oldascii
unblock
value except that
characters are translated from EBCDIC to ASCII before the records are
converted. (These values imply unblock
if the
operand cbs
is also specified.) There are two
conversion maps for ASCII. The value ascii
specifies the recommended one which is compatible with
AT&T System V UNIX. The value
oldascii
specifies the one used in historic
AT&T and pre- 4.3BSD-Reno systems.block
cbs
operand. Input records
shorter than the conversion record size are padded with spaces. Input
records longer than the conversion record size are truncated. The
number of truncated input records, if any, are reported to the
standard error output at the completion of the copy.ebcdic
,
ibm
, oldebcdic
,
oldibm
block
value except that
characters are translated from ASCII to EBCDIC after the records are
converted. (These values imply block
if the
operand cbs
is also specified.) There are four
conversion maps for EBCDIC. The value ebcdic
specifies the recommended one which is compatible with
AT&T System V UNIX. The value
ibm
is a slightly different mapping, which is
compatible with the AT&T System V
UNIX ibm
value. The values
oldebcdic
and oldibm
are maps used in historic AT&T and pre
4.3BSD-Reno systems.lcase
noerror
sync
conversion is also specified, any missing
input data will be replaced with NUL bytes (or with spaces if a block
oriented conversion value was specified) and processed as a normal
input buffer. If the sync
conversion is not
specified, the input block is omitted from the output. On input files
which are not tapes or pipes, the file offset will be positioned past
the block in which the error occurred using
lseek(2).notrunc
dd
. The
notrunc
value is not supported for tapes.osync
bs=
n block size
specification.sparse
NUL
bytes, try to seek the output file by the
required space instead of filling them with
NUL
s. This results in a sparse file on some
file systems.swab
sync
ucase
unblock
cbs
operand. Any trailing
space characters are discarded and a newline character is
appended.Where sizes are specified, a decimal number of bytes is expected. Two or more numbers may be separated by an “x” to indicate a product. Each number may have one of the following optional suffixes:
When finished, dd
displays the number of
complete and partial input and output blocks, truncated input records and
odd-length byte-swapping blocks to the standard error output. A partial
input block is one where less than the input block size was read. A partial
output block is one where less than the output block size was written.
Partial output blocks to tape devices are considered fatal errors.
Otherwise, the rest of the block will be written. Partial output blocks to
character devices will produce a warning message. A truncated input block is
one where a variable length record oriented conversion value was specified
and the input line was too long to fit in the conversion record or was not
newline terminated.
Normally, data resulting from input or conversion or both are aggregated into output blocks of the specified size. After the end of input is reached, any remaining output is written as a block. This means that the final output block may be shorter than the output block size.
If dd
receives a
SIGINFO
signal (see the
status
argument for
stty(1)), the current input and
output block counts will be written to the standard error output in the same
format as the standard completion message. If dd
receives a SIGINT
signal, the current input and
output block counts will be written to the standard error output in the same
format as the standard completion message and dd
will exit.
The flags that apply to both input and output are:
alt_io
async
SIGIO
signaling for I/O.cloexec
direct
directory
dd
.exlock
noctty
nofollow
nonblock
nosigpipe
EPIPE
instead of raising
SIGPIPE
.shlock
sync
The flags that apply to only input are:
rdonly
rdwr
rsync
sync
option is
also set.The flags that apply to only output are:
append
creat
dsync
excl
trunc
wronly
dd
utility exits 0 on success,
and >0 if an error occurs.
dd if=/dev/zero of=/dev/null count=1
msgfmt=human
To customize the information summary output and print it through unvis(3):
dd if=/dev/zero of=/dev/null count=1 \ msgfmt='speed:%E, in %s seconds\n' 2>&1 | unvis
dd
utility is expected to be a superset of the
IEEE Std 1003.2 (“POSIX.2”) standard.
The files
and msgfmt
operands
and the ascii
, ebcdic
,
ibm
, oldascii
,
oldebcdic
and oldibm
values
are extensions to the POSIX standard.
dd
utility appeared in
Version 5 AT&T UNIX.
January 29, 2019 | NetBSD 9.4 |