home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Documentation / PUPS / Programs / Arcutils / grab.README < prev    next >
Encoding:
Text File  |  1995-11-02  |  3.0 KB  |  57 lines

  1. /*
  2.  * grab.c
  3.  *
  4.  * Name:        grab
  5.  * Purpose:     extract files from remote filesystems
  6.  * Usage:       grab [-2468pxvilLtb#] <filesystem> <files...>
  7.  * Environment: V6 or V7 (2.9BSD, 4.1BSD) Unix or Venix/86
  8.  * Compile:     cc -O -s -D<type> grab.c find.c readi.c bread.c tmode.c -o grab
  9.  * Date:        4/29/82
  10.  * Author:      Donn Seeley RRCF UCSD
  11.  * Remarks:
  12.  *      This is meant to be used with dual-ported disks or controllers
  13.  *      when it is either impossible or undesirable to mount another
  14.  *      file system on that medium.  It should allow any Version 6 or
  15.  *      Version 7 (2.9BSD, 4.1BSD) system to read filesystems from any
  16.  *      Version 6 or Version 7 (2.9BSD, 4.1BSD) system even if the systems
  17.  *      are not of the same type.  Version 6 systems will need at least
  18.  *      a Phototypesetter level C compiler to make "grab".  "Grab" will
  19.  *      copy any conceivable (?) object on a filesystem including directories
  20.  *      (recursively), links, file holes, setuid/setgid/sticky files and
  21.  *      device nodes.  "Grab" tries to prevent unauthorized readers from
  22.  *      gazing at remote files but the only reliable way of maintaining
  23.  *      security is to make "grab" setgid and then make fs's readable by
  24.  *      group and not by other.  ("Df" should work this way too.)
  25.  *
  26.  *      To compile a V6 grab, define PDPV6.  To compile a 2.9 grab define
  27.  *      PDP, and to compile a 4.1 grab define VAX.  If your machine has
  28.  *      multiplexed files, define MPXFILES, and if it has symbolic links
  29.  *      you should define SYMLINKS.  Define VENIX for VENIX/86.
  30.  *
  31.  *      Options:
  32.  *              -2468   2.9, 4.1, V6, or VENIX/86 system on the remote end.
  33.  *              -p      Preserve all permissions and ownerships, instead of
  34.  *                      just some of them (should be su).
  35.  *              -x      Act like "cat(1)" from the remote fs (but still
  36.  *                      recursively on directories).
  37.  *              -v      Verbose mode: print filenames as they are copied.
  38.  *              -i      The arguments are inode numbers; treat them as
  39.  *                      files with those inode numbers and named by the numbers.
  40.  *              -l      Act like a rudimentary "ls(1)" on a remote fs.
  41.  *              -L      Long version of -l: gives a gruesome inode dump.
  42.  *              -t      Act like "tar(1)" on a remote fs.  Output goes to
  43.  *                      the standard output.  Digits following the "t" are
  44.  *                      interpreted as a blocksize.
  45.  *              -b      Set blocksize independently: this manipulates the
  46.  *                      internal write buffer size.  Digits following, etc.
  47.  *
  48.  *---------------------------------------------------------------------------
  49.  *
  50.  * $Header:   RCS/grab.c.v  Revision 1.2  83/07/01  19:29:13  donn  Exp$
  51.  * $Log:        RCS/grab.c.v $
  52.  * Revision 1.2  83/07/01  19:29:13  donn
  53.  * Added -i and -L flags for inode grabbing and inode dumping.
  54.  *                                                      Donn
  55.  * 
  56.  */
  57.