# 2.11BSD#431 - /usr/local/man/cat1/afio.0

    AFIO(1)             UNIX Programmer's Manual		  AFIO(1)

    NAME
         afio - manipulate archives and files

    SYNOPSIS
         afio -o [ options ] archive
         afio -t [ options ] archive
         afio -i [ options ] archive
         afio -p [ options ] directory [ ... ]

    DESCRIPTION
         Afio manipulates groups of files, copying them within the
         (collective) filesystem or between the filesystem and an
         afio archive. Note that afio archives are portable, as they
         contain only ASCII-formatted header information. They are
         also compatible with ASCII cpio(1) archives (ala cpio -c).

         With -o, reads pathnames from the standard input and writes
         an archive.

         With -t, reads an archive and writes a table-of-contents to
         the standard output.

         With -i, installs the contents of an archive relative to the
         working directory.

         With -p, reads pathnames from the standard input and copies
         the files to each directory.

         Creates missing directories as necessary, with permissions
         to match their parents.

         Generates sparse filesystem blocks (with lseek(2)) when pos-
         sible.

         Supports multi-volume archives during interactive operation
         (i.e., when /dev/tty is accessible and SIGINT is not being
         ignored).

         Options:

         -b size	  Read or write size-character archive blocks.
    		  Suffices of b, k and m denote multiples of 512,
    		  1024 and 1048576, respectively.  Defaults to
    		  5120 for compatibility with cpio(1).

         -c count	  Buffer count archive blocks between I/O opera-
    		  tions. A large count is recommended with
    		  streaming magnetic tape drives.

         -d           Don't create missing directories.

         -e bound	  Pad the archive to a multiple of bound

    Printed 11/24/99						1

    AFIO(1)             UNIX Programmer's Manual		  AFIO(1)

    		  characters.  Recognizes the same suffices as
    		  -s.  Defaults to 1x (the -b block size) for
    		  compatibility with cpio(1).

         -f           Spawn a child process to actually write to the
    		  archive; provides a clumsy form of double-
    		  buffering.  Requires -s for multi-volume
    		  archive support.

         -g           Change to input file directories. Avoids qua-
    		  dratic filesystem behavior with long similar
    		  pathnames. Requires all absolute pathnames,
    		  including those for the -o archive and the -p
    		  directories.

         -h           Follow symbolic links, treating them as ordi-
    		  nary files and directories.

         -j           Don't generate sparse filesystem blocks.

         -k           Skip corrupt data at the beginning of an
    		  archive (rather than complaining about unrecog-
    		  nizable input).

         -l           With -o, write file contents with each hard
    		  link.

    		  With -t, report hard links.

    		  With -p, attempt to link files rather than
    		  copying them.

         -m           Mark output files with a common current times-
    		  tamp (rather than with input file modification
    		  times).

         -n           Protect newer existing files (comparing file
    		  modification times).

         -s limit	  Restrict each portion of a multi-volume archive
    		  to limit characters.	Recognizes the same suf-
    		  fices as -b.	Also, the suffix x denotes a mul-
    		  tiple of the -b block size (and must follow any
    		  -b specification).  Useful with finite-length
    		  devices which do not return short counts at end
    		  of media (sigh); output to magnetic tape typi-
    		  cally falls into this category.

         -u           Report files with unseen links.

         -v           Verbose. Report pathnames as they are pro-
    		  cessed. With -t, gives an ls -l style report

    Printed 11/24/99						2

    AFIO(1)             UNIX Programmer's Manual		  AFIO(1)

    		  (including link information).

         -x           Retain file ownership and setuid/setgid permis-
    		  sions.  This is the default for the super-user;
    		  he may use -X to override it.

         -y prefix	  Restrict archive processing to names beginning
    		  with prefix.	Specify once for each prefix to
    		  be recognized.  Use -Y to supply prefixes which
    		  are not to be processed.

         -z           Print execution statistics. This is meant for
    		  human consumption; use by other programs is
    		  officially discouraged.

         Special-case archive names:

    	o  Specify - to read or write the standard input or out-
    	   put, respectively.  This disables multi-volume archive
    	   handling.

    	o  Prefix a command string to be executed with an excla-
    	   mation mark (!).  The command is executed once for
    	   each archive volume, with its standard input or output
    	   piped to afio.  It is expected to produce a zero exit
    	   code when all is well.

    	o  Use system:file to access an archive in file on sys-
    	   tem.  This is really just a special case of pipelin-
    	   ing.  It requires a 4.2BSD-style remote shell
    	   (rsh(1C)) and a remote copy of afio.

    	o  Anything else specifies a local file or device.  An
    	   output file will be created if it does not already
    	   exist.

         Recognizes obsolete binary cpio(1) archives (including those
         from machines with reversed byte order), but cannot write
         them.

         Recovers from archive corruption by searching for a valid
         magic number. This is rather simplistic, but, much like a
         disassembler, almost always works.

         Optimizes pathnames with respect to the current and parent
         directories. For example, ./src/sh/../misc/afio.c becomes
         src/misc/afio.c.

    BUGS
         There are too many options.

    Printed 11/24/99						3

    AFIO(1)             UNIX Programmer's Manual		  AFIO(1)

         Restricts pathnames to 1023 characters and 255 meaningful
         elements.

         There is no sequence information within multi-volume
         archives.	Input sequence errors generally masquerade as
         data corruption.  A solution would probably be mutually
         exclusive with cpio(1) compatibility.

         Degenerate uses of symbolic links are mangled by pathname
         optimization.  For example, assuming that "usr.src" is a
         symbolic link to "/usr/src", the pathname
         "usr.src/../bin/cu" is mis-optimized into "bin/cu" (rather
         than "/usr/bin/cu").

    SEE ALSO
         cpio(1), find(1), tar(1), tp(1).

    AUTHOR
         Mark Brukhartz
         ..!ihnp4!laidbak!mdb

    Printed 11/24/99						4

Generated: 2016-12-26 | Generated by man2html V0.25 page hit count: 510 |