⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zoo.1

📁 汇编源代码大全
💻 1
📖 第 1 页 / 共 4 页
字号:
is shorthand for
.B lcA 
(archive listing with all comments shown).
Similarly the command
.B v
is shorthand for
.BR lA
(archive listing with archive comment shown).  Both
.B V
and 
.B v
can be used as modifiers to any of the other archive
listing commands.
.PP
.sh "Generations"
By default,
.I zoo
assumes that only the latest generation of a specified file
is needed.  If generations other than the latest one
need to be selected, this may be done by specifying them
in the filename.  For example, the name
.B stdio.h
would normally refer to the latest generation of
the file
.I stdio.h
stored in a 
.I zoo
archive.  To get an archive listing showing all
generations of
.I stdio.h 
in the archive, the specification
.B stdio.h:*
could be used (enclosed in single quotes if necessary
to protect the wildcard character
.B *
from the shell).  Also,
.B stdio.h:0
selects only the latest generation of
.I stdio.h,
while
.B stdio.h:^0
selects all generations except the latest one.  The 
.B :
character here separates the filename from the generation
number, and the character
.B *
is a wildcard that matches all possible generations.
For convenience, the generation itself may be left
out, so that the name
.B stdio.h:
(with the
.B :
but without a generation number or a wildcard) matches
all generations exactly as
.B stdio.h:*
does.
.PP
If a generation is specified but no filename is present,
as in
.BR :5 ,
.BR :* ,
or just
.BR : ,
all filenames of the specified generation will be selected.
Thus
.B :5
selects generation 5 of each file, and
.B :*
and
.B :
select all generations of all files.
.PP
It is important to note that
.I "zoo's"
idea of the latest generation of a file is not based
upon searching the entire archive.  Instead, whenever
.I zoo
adds a file to an archive, it is marked
as being the latest generation.  Thus, if
the latest generation of a file is deleted, then
.I no
generation of that file is considered the latest any
more.  This can be surprising to the user.  For
example, if an archive already contains the file
.I stdio.h:5
and a new copy is added, appearing in the archive
listing as
.I stdio.h:6,
and then
.I stdio.h:6
is deleted, the remaining copy
.I stdio.h:5
will no longer be considered to be the latest generation,
and the file
.I stdio.h:5,
even if undeleted, will no longer appear in an archive listing
unless generation 5 (or every generation) is specifically requested.
This behavior will likely be improved in future releases of
.I zoo.
.SH FILES
xXXXXXX \- temporary file used during packing
.sp 0
.RB archive_name. bak
\- backup of archive
.SH "SEE ALSO"
compress(1), fiz(1)
.SH BUGS
When files are being added to an archive on a non-MS-DOS system, it
is possible for
.I zoo
to fail to detect a full disk and hence create an invalid archive.
This bug will be fixed in a future release.
.PP
Files with generation counts that wrap around from 65535 to 1
are not currently handled correctly.  If a file's generation
count reaches a value close to 65535, it should be manually
set back down to a low number.  This may be easily done
with a command such as
.BR gc\-65000 ,
which subtracts 65000 from the generation count of each
specified file.  This problem will be fixed in a
future release.
.PP
Although
.I zoo
on **IX systems preserves the lowest nine mode bits of
regular files, it does not currently do the same for directories.
.PP
Currently
.I "zoo's"
handling of the characters
.B :
and 
.B ;
in filenames is not robust, because it interprets these
to separate a filename from a generation number.  A
quoting mechanism will eventually be implemented.
.PP
Standard input cannot be archived nor can a created archive be sent
to standard output.  Spurious error messages may appear if the 
filename of an archive is too long.
.PP
Since
.I zoo
never archives any file with the same name as the archive or its
backup (regardless of any path prefixes), care should be taken 
to make sure that a file to be archived does not coincidentally have 
the same name as the archive it is being added to.
It usually suffices 
to make sure that no file being archived is itself a 
.I zoo
archive.  (Previous versions of
.I zoo
sometimes tried to add an
archive to itself. This bug now seems to be fixed.)
.PP
Only regular files are archived; devices and empty directories are not.
Support for archiving empty directories and for preserving directory
attributes is planned for the near future.
.PP
Early versions of MS-DOS have a bug that prevents "." from referring
to the root directory;  this leads to anomalous results if the
extraction of paths beginning with a dot is attempted.
.PP
VAX/VMS destroys case information unless arguments are enclosed
in double quotes.  For this reason if a command given to
.I zoo
on a VAX/VMS system includes any uppercase characters, it must be 
enclosed in double quotes.  Under VAX/VMS,
.I zoo
does not currently restore file timestamps;  this will be fixed
as soon as I figure out RMS extended attribute blocks, or DEC supplies
a utime() function, whichever occurs first.  Other VMS bugs, related to
file structures, can often be overcome by using the program 
.I bilf.c
that is supplied with
.I zoo.
.PP
It is not currently possible to create a
.I zoo
archive containing all
.I zoo
archives that do not contain themselves.
.SH DIAGNOSTICS
Error messages are intended to be self-explanatory and are divided into
three categories.  WARNINGS are intended to inform the user of an
unusual situation, such as a CRC error during extraction, or
.BR \-freshen ing
of an archive containing a file newer than one specified on
the command line.  ERRORS are fatal to one file, but execution
continues with the next file if any.  FATAL errors cause execution to
be aborted.  The occurrence of any of these causes an exit status of
1.  Normal termination without any errors gives an exit status of 0.
(Under VAX/VMS, however, to avoid an annoying message,
.I zoo
always exits with an error code of 1.)
.SH COMPATIBILITY
All versions of
.I zoo
on all systems are required to create archives that can
be extracted and listed with all versions of 
.I zoo
on all systems, regardless of filename and
directory syntax or archive structure;  furthermore,
any version of 
.I zoo
must be able to fully manipulate all archives
created by all lower-numbered versions of
.I zoo
on all systems.  So far as I can tell, this
upward compatibility (all manipulations) and downward
compatiblity (ability to extract and list)
is maintained by
.I zoo
versions up to 2.01.  Version 2.1 adds the incompatibility
that if high-performance compression is used, earlier
versions cannot extract files compressed with version 2.1.
This is the only incompatibility that is permissible.
You are forbidden, with the force of
copyright law, to create from the
.I zoo
source code any derivative work
that violates this compatibility goal,
whether knowingly or through negligence.
If any violation of this
compatibility goal is observed,
this should be
considered a serious problem and reported to me.
.SH CHANGES
Here is a list of changes occurring from version 1.50 to
version 2.01.  In parentheses is given the version in which each
change occurred.
.TP
\-
(1.71) New modifiers to the list commands permit
optional suppression of header and trailer information, 
inclusion of directory names in columnized listings, and 
fast one-column listings.
.TP
\-
(1.71) Timezones are handled.
.TP
\-
(1.71) A bug was fixed that had made it impossible to
individually update comments for a file whose name did
not correspond to MS-DOS format.
.TP
\-
(1.71) A change was made that now permits use of the
shared library on the **IX PC.
.TP
\-
(1.71) VAX/VMS is now supported reasonably well.
.TP
\-
(2.00) A comment may now be attached to the archive itself.
.TP
\-
(2.00) The \fBOO\fR option allows
forced overwriting of read-only files.
.TP
\-
(2.00) \fIZoo\fR will no longer extract a file if a 
newer copy already exists on disk;  the
.B S
option will override this.
.TP
\-
(2.00) File attributes are preserved for **IX systems.
.TP
\-
(2.00) Multiple generations of the same file are supported.
.TP
\-
(2.00) \fIZoo\fR will now act as a compression or
decompression filter on a stream of data and will
use a CRC value to check the integrity of a
data stream that is uncompressed.
.TP
\-
(2.00) A bug was fixed that caused removal of a directory link
if files were moved to an archive by the superuser
on a **IX system.
.TP
\-
(2.00) The data recovery modifier
.B @
was greatly enhanced.  Self-extracting archives created for MS-DOS
systems can now be extracted by 
.I zoo
on any system with help from 
.I fiz(1).
.TP
\-
(2.01)
A bug was fixed that had caused the first generation of a file
to sometimes unexpectedly show up in archive listings.
.TP
\-
(2.01) A bug was fixed that had caused the MS-DOS version
to silently skip files that could not be extracted because
of insufficient disk space.
.TP
\-
(2.01) A bug was fixed that had sometimes made it impossible to
selectively extract a file by specifying its name, even 
though all files could be extracted from the archive
by not specifying any filenames.  This occurred when
a file had been archived on a longer-filename system
(e.g. AmigaDOS) and extraction was attempted on a
shorter-filename system (e.g. MS-DOS).
.TP
\-
(2.01) A change was made that will make zoo preserve the mode
(file protection) of a zoo archive when it is packed.
This is effective only if zoo is compiled to preserve
and restore file attributes.  Currently this is so
only for **IX systems.
.TP
\-
(2.01) 
A bug was fixed that had caused an update of an archive to
not always add all newer files.
.TP
\-
(2.01) Blanks around equal signs in commands given to "make"
were removed from the mk* scripts for better compatiblity
with more **IX implementations including Sun's.
.TP
\-
(2.1) Compression is now greatly improved if the "h" option is used.
.TP
\-
(2.1) The default behavior is to preserve full pathnames during extraction. 
.TP
\-
(2.1) On some systems, extraction of files using the older (default)
compression method is greatly speeded up.
.TP
\-
(2.1) Extended multiscreen help is available.
.TP
\-
(2.1) Memory allocation is improved, so that the MS-DOS version will
not prematurely abort when updating a large archive.
.TP
\-
(2.1) The VAX/VMS version preserves file timestamps during extraction.
.TP
\-
(2.1) The default archive-wide generation limit, when generations
are enabled, is 3.
.SH "FUTURE DIRECTIONS"
A revised version of 
.I zoo
is in the works that will be able to write newly-created archives
to standard output and will support multivolume archives.
It will be upward and downward compatible with this version of 
.I zoo.
.SH ACKNOWLEDGEMENTS
The 
.I zoo
archiver was initially developed using Microsoft C 3.0
on a PC clone manufactured
by Toshiba of Japan and almost sold by Xerox.  Availability
of the following systems was helpful in achieving portability:
Paul Homchick's Compaq running Microport System V/AT;  The 
Eskimo BBS somewhere in Oregon running Xenix/68000; Greg Laskin's
system 'gryphon' which is an Intel 310 running Xenix/286;  Ball 
State University's AT&T 3B2/300, UNIX PC, and VAX-11/785 (4.3BSD
and VAX/VMS) systems.  In addition J. Brian Waters provided
feedback to help me make the code compilable on his Amiga using
Manx/Aztec C.  The executable version 2.0 for MS-DOS is currently
compiled with Borland's Turbo C++ 1.0.
.PP
Thanks are due to the following people and many others too numerous
to mention.
.PP
J. Brian Waters <jbwaters@bsu-cs.bsu.edu>, who has worked
diligently to port
.I zoo
to AmigaDOS, created Amiga-specific code,
and continues keeping it updated.
.PP
Paul Homchick <rutgers!cgh!paul>, who provided numerous detailed
reports about some nasty bugs.
.PP
Bill Davidsen <davidsen@crdos1.crd.ge.com>, who provided numerous
improvements to this manual, contributed multiscreen help, and provided
many useful bug reports, bug fixes, code improvements, and suggestions.
.PP
Mark Alexander <amdahl!drivax!alexande>, who provided me with some bug
fixes.
.PP
Haruhiko Okumura, who wrote the
.I ar
archiver and some
excellent compression code, which I adapted for use in
.I zoo.
.PP
Randal L. Barnes <rlb@skyler.mavd.honeywell.com>, who (with Randy
Magnuson) wrote
the code to support the preservation of file timestamps under
VAX/VMS.
.PP
Raymond D. Gardner, who contributed replacement uncompression code
that on some systems is twice as fast as the original.
.PP
Greg Yachuk and Andre Van Dalen, who independently modified MS-DOS
.I
zoo 
to support multivolume archives.  (This support is not yet in
this official release.)
.SH AUTHOR
Rahul Dhesi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -