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: 1492
Valid CSS Valid XHTML 1.0 Strict