NAME

     vol - split input on or combine output from several volumes


SYNOPSIS

     vol [-rw1] [-b blocksize] [-m multiple] [size] device


DESCRIPTION

     Vol either reads a large input stream  from  standard  input
     and  distributes it over several volumes or combines volumes
     and sends them to standard output.  The size of the  volumes
     is determined automatically if the device supports this, but
     may be specified before the argument naming  the  device  if
     automated  detection  is not possible or if only part of the
     physical volume is used.   The  direction  of  the  data  is
     automatically  determined  by  checking whether the input or
     output of vol is a file or pipe.  Use the -r or -w  flag  if
     you  want  to  specify  the  direction  explicitly, in shell
     scripts for instance.

     Vol waits for each new volume to be inserted, typing  return
     makes it continue.  If no size is explicitely given then the
     size of the device is determined each time before it is read
     or  written,  so it is possible to mix floppies of different
     sizes.  If the size cannot be determined (probably  a  tape)
     then the device is assumed to be infinitely big.  Vol can be
     used both for block or character devices.   It  will  buffer
     the data and use a block size appropriate for fixed or vari-
     able block sized tapes.

     Vol reads or writes 8192 bytes  to  block  devices,  usually
     floppies.   Character  devices  are  read or written using a
     multiple of 512 bytes.  This multiple has an upper limit  of
     32767  bytes  (16-bit machine), 64 kb (32-bit), or even 1 Mb
     (32-bit VM).  The last partial write to a  character  device
     is padded with zeros to the block size.  If a character dev-
     ice is a tape device that responds  to  the  mtio(4)  status
     call  then  the reported tape block size will be used as the
     smallest unit.  If the tape is a variable block length  dev-
     ice  then  it  is  read or written like a block device, 8192
     bytes at the time, with a minimum unit of one byte.

     All sizes may be suffixed by the letters M, k,  b  or  w  to
     multiply the number by mega, kilo, block (512), or word (2).
     The volume size by default in kilobytes if there is no  suf-
     fix.


OPTIONS

     -rw  Explicitly specify reading or writing.   Almost  manda-
          tory in scripts.

     -1   Just one volume, start immediately.

     -b blocksize
          Specify the device block size.

     -m multiple
          Specify the maximum read  or  write  size  of  multiple
          blocks.   The -b and -m options allow one to modify the
          block size assumptions  that  are  made  above.   These
          assumptions are -b 1 -m 8192 for block devices or vari-
          able length tapes, and -b 512 -m  65536  for  character
          devices (32 bit machine.)  These options will not over-
          ride the tape block size  found  out  with  an  mtio(4)
          call.   The  multiple may be larger then the default if
          vol can allocate the memory required.


EXAMPLES

     To back up a tree to floppies as a compressed tarfile:

          tar cf - . | compress | vol /dev/fd0

     To restore a tree from 720 kb images  from  possibly  bigger
     floppies:

          vol 720 /dev/fd0 | uncompress | tar xfp -

     Read or write a device with 1024 byte blocks:

          vol -b 1k /dev/rsd15

     Read or write a variable block length  tape  using  blocking
     factor 20 as used by default by many tar(1) commands:

          vol -m 20b /dev/rst5

     Note that -m was used in the last example.  It sets the size
     to  use  to read or write, -b sets the basic block size that
     may be written in multiples.


SEE ALSO

     dd(1), tar(1), mt(1), mtio(4).