*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> dd (1)              
Title
Content
Arch
Section
 

DD(1)

Contents


NAME    [Toc]    [Back]

     dd - convert and copy a file

SYNOPSIS    [Toc]    [Back]

     dd [operands ...]

DESCRIPTION    [Toc]    [Back]

     The dd utility copies the standard  input  to  the  standard
output, applying
     any  specified  conversions.  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:

     if=file  Read input from file instead of the standard input.

     of=file  Write output to file instead of the  standard  output.  Any regular
  output  file  is  truncated unless the notrunc
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.

     ibs=n    Set the input block size to n bytes instead of  the
default 512.

     obs=n    Set the output block size to n bytes instead of the
default 512.

     bs=n     Set both the input  and  output  block  size  to  n
bytes, superseding
              the  ibs 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=n    Set the conversion record size  to  n  bytes.   The
conversion
              record size is required by the record oriented conversion values.


     count=n  Copy only n input blocks.

     files=n   Copy  n  input  files  before  terminating.   This
operand is only applicable
 when the input device is a tape.

     seek=n    Seek n blocks from the beginning of the output before copying.
              On non-tape devices, an lseek(2) operation is used.
Otherwise,
              existing  blocks  are  read and the data discarded.
If the user
              does not have read permission for the tape,  it  is
positioned using
  the tape ioctl(2) function calls.  If the seek
operation is
              past the end of file, space from the current end of
file to the
              specified  offset  is  filled  with  blocks  of NUL
bytes.

     skip=n   Skip n blocks from the beginning of the  input  before copying.
              On  input  which supports seeks, an lseek(2) operation is used.
              Otherwise, input data is read and  discarded.   For
pipes, the
              correct number of bytes is read.  For all other devices, the
              correct number of blocks is  read  without  distinguishing between
              a partial or complete block being read.

     conv=value[,value ...]
              Where  value is one of the symbols from the following list.

              ascii, oldascii
                       The same as the 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
System V.  The
                       value oldascii specifies the one  used  in
historic AT&T
                       and pre-4.3BSD-reno systems.

              block     Treats the input as a sequence of newline
or end-offile
 terminated  variable  length  records
independent of
                       input  and  output  block boundaries.  Any
trailing newline
 character is discarded.   Each  input
record is converted
  to  a  fixed  length output record
where the length
                       is specified by the  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, is reported to the standard  error
output at the
                       completion of the copy.

              ebcdic, ibm, oldebcdic, oldibm
                       The  same  as  the 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    Transform uppercase characters into lowercase characters.


              noerror   Do not stop processing on an input error.
When an input
 error  occurs,  a  diagnostic  message
followed by 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 the 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   Do  not  truncate  the output file.  This
will preserve
                       any blocks in the output file not  explicitly written by
                       dd.   The  notrunc  value is not supported
for tapes.

              osync    Pad the final output  block  to  the  full
output block
                       size.  If the input file is not a multiple
of the output
 block size after conversion, this conversion forces
                       the final output block to be the same size
as preceding
                       blocks for use  on  devices  that  require
regularly sized
                       blocks  to be written.  This option is incompatible with
                       use of the bs=n block size  specification.

              swab     Swap every pair of input bytes.  If an input buffer has
                       an odd number of bytes, the last byte will
be ignored
                       during swapping.

              sync      Pad every input block to the input buffer
size.  Spaces
                       are used for pad bytes if a block oriented
conversion
                       value  is  specified,  otherwise NUL bytes
are used.

              ucase    Transform lowercase characters into uppercase characters.


              unblock   Treats  the  input as a sequence of fixed
length records
                       independent  of  input  and  output  block
boundaries.  The
                       length  of  the input records is specified
by the 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.  If the
     number ends with a `b', `k', `m', or `w', the number is multiplied by
     512,  1024  (1K), 1048576 (1M), or the number of bytes in an
integer, respectively.
  Two or more numbers may be separated by an  `x'
to indicate a
     product.

     When  finished,  dd displays the number of complete and partial input and
     output blocks, truncated input records, and odd-length byteswapping
     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 (see the ``status'' argument for
stty(1)) 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.
  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 dd utility exits 0 on success or  >0  if  an  error  occurred.

EXAMPLES    [Toc]    [Back]

     # dd if=floppy34.fs of=/dev/rfd0c bs=32k

     Write an OpenBSD floppy image to a floppy disk.

SEE ALSO    [Toc]    [Back]

      
      
     cp(1), mt(1), tr(1)

STANDARDS    [Toc]    [Back]

     The  dd utility is expected to be a superset of the IEEE Std
1003.2
     (``POSIX.2'') standard.  The files operand  and  the  ascii,
ebcdic, ibm,
     oldascii, oldebcdic, and oldibm values are extensions to the
POSIX standard.


OpenBSD     3.6                        January      13,      1994
[ Back ]
 Similar pages
Name OS Title
imgcopy IRIX copy and convert image file
dd HP-UX convert, reblock, translate, and copy a (tape) file
scp OpenBSD secure copy (remote file copy program)
scp FreeBSD secure copy (remote file copy program)
efi_cp HP-UX copy to or from EFI file
cpio IRIX copy file archives in and out
rcp FreeBSD remote file copy
cpio OpenBSD copy file archives in and out
copylist IRIX copy a file into memory
rcp OpenBSD remote file copy
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service