NAME

     sdd - disk dump and restore to and from tape or  file;  copy
     and/or reblock


SYNOPSIS

     sdd [ option=value ] [ -flag ]


DESCRIPTION

     Sdd copies the specified input file to  a  specified  output
     file  performing  the  requested  conversions.  The standard
     input and output are used by default.  The input and  output
     block  size may be specified to take advantage of raw physi-
     cal I/O.

     After completion, sdd reports the number of  whole  records,
     the  sum  of  bytes from partial input and output blocks and
     the total amount in kilo bytes on inout and output.

     If ibs and obs differ, sdd is faster than dd due to the  use
     of an intelligent algorithm.


OPTIONS

     -help
          Print a summary of the available options.

     if=name
          Input is taken from file name; default is stdin.

     of=name
          Output is taken from file name; default is stdout. Note
          that  sdd  creates  and  truncates  the  output file by
          default;  therefore  the  oseek=#  option  is   useless
          without  the   - notrunc option except in special cases
          such as using magnetic tape or disk special files.

     -inull
          Do not read  input  from  file.   This  is  similar  to
          if=/dev/zero  but  much  faster.   Sdd  uses a prepared
          cleared buffer to satisfy writes.

     -onull
          Do  not  produce  any  output.  This  is   similar   to
          of=/dev/null but actually does not write to any file.

     ibs=#, obs=#, bs=#
          Set input block size, output block size or  both  to  #
          (default 512 Bytes).

     cbs=#
          Set Conversion buffer size to #.

     ivsize=#, ovsize=#
          Set input volume size or output volume size to  #.  You
          can make copies from devices of different size by using
          this option. If you want to make a copy to a tape  hav-
          ing  a  size  of  60  MBytes  you should use the option
          ovsize=60M.  If the capacity of the tape  is  exceeded,
          sdd  wil  ask  for  a  second volume. In case ivsize is
          exceeded, if N<cr> is typed, it is treated  as  an  EOF
          condition  and  sdd  writes any buffered data to output
          and exits. In case ovsize  is  exceeded,  if  N<cr>  is
          typed, sdd stops and the statistics it prints show that
          more data were read than written.

     count=#
          Transfer # of input records or until EOF.

     iseek=#, iskip=#
          Seek/skip the first # Bytes from input before beginning
          transfer.

     oseek=#, oskip=#
          Seek/skip the first # Bytes from output  before  begin-
          ning transfer.

     seek=#, skip=#
          Seek/skip the first  #  Bytes  from  input  and  output
          before beginning transfer.

     ivseek=#, ovseek=#
          Seek # Bytes from input/output at the beginning of each
          input/output volume before beginning transfer. (You can
          skip labels of disks and floppies  with  this  option.)
          Note  that the iseek/oseek options still work, but only
          apply to the first volume.  Their values are  added  to
          the values of ivseek and ovseek.

     -notrunc
          Do not truncate an already existing output file  before
          beginning  transfer.   This enables it to copy one file
          into another.

     -pg   Print a dot to stderr each time a record is written to
          indicate progress.

     -time, -t
          Report the total time and the transfer rate.

     -noerror
          Do not stop transfer on I/O errors. Error messages will
          appear on the screen.

     -noerrwrite
          Do not write blocks that are not read corretly. Seek on
          the output to skip the bad block.  The output file must
          be seekable or -noerrwrite will not work correctly.

     -noseek
          Do not seek after I/O errors. This implies try=1.

     try=#
          Set retry count to #. Only if -noerror  was  specified.
          (default 2)

     -debug
          Turn on debugging messages. You can get knowledge about
          record  sizes  on  tapes with variable record size with
          this option.

     -fill
          Pad every output record with zeros up to  obs.  If  ibs
          equals obs, or only bs was specified, every record will
          be padded with zeros, otherwise this  only  applies  to
          the last record.

     -swab
          Swaps bytes (except for the  last  byte  in  odd  block
          sizes and odd transfers due to EOF).

     -block, -unblock
          Convert fixed length records to  variable  records  and
          vice versa.

     -lcase, -ucase
          Map alphabetics to lower/upper case.

     -ascii, -ebcdic, -ibm
          Convert EBCDIC to ASCII resp.  ASCII  to  EBCDIC  resp.
          ASCII to the IBM variant of EBCDIC.


EXAMPLES

     sdd if=/dev/rsd0a of=/dev/nrst8 bs=2x7x17b

     Copies the disk /dev/rsd0a to the tape  /dev/nrst8  using  a
     record size of 2*7*17 blocks.  (this is 2 Cylinders.)

     sdd if=/dev/rsd0c of=/dev/rsd1c seek=1b bs=63k

     Copy the whole disk sd0 to sd1 preserving the old  label  on
     disk sd1.


FILES

     None.


SEE ALSO

     dd(1), tr(1), cp(1), copy(1)


DIAGNOSTICS

     sdd: Read  f records + p bytes (total of x bytes = d.nnk).
     sdd: Wrote f records + p bytes (total of x bytes = d.nnk).

     The number of full records, the number of bytes  in  partial
     records and the total amount of data in KBytes.

     With the QUIT signal ( usually ^\  )  the  actual  state  is
     displayed.


NOTES

     Opposed to dd, sdd is able to handle -iseek -oseek -seek  as
     well  as  -iskip -oskip -skip regardless to the buffer size.
     You can make a whole physical copy of a disk without copying
     the label in one pass of sdd.

     When numbers are unspecified the are taken to be bytes.

     You can make them `words' (2 bytes) if they are followed  by
     a `w' or `W'.

     You can make them blocks (512 bytes) if they are followed by
     a `b' or `B'.

     You can make them Kbytes (1024 bytes) if they  are  followed
     by a `k' or `K'.

     You can make them Mbytes (1024 * 1024  bytes)  if  they  are
     followed by a `m' or `M'.

     A pair of numbers may be separated by `*' or `x' to indicate
     a product.


BUGS

     The option iskip=# and oskip=# and skip=# as well as - block
     and -unblock are not implemented.

     It is confusing to allow the use of all  additions  together
     with  the  record  counter  -count as they are possible with
     obs=#.













GMD GMD Homepage GMD FOKUS FOKUS Homepage Schily Schily's Homepage VED powered