unzipsfx.1
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:13k
源码类别:
压缩解压
开发平台:
MultiPlatform
- ." Info-ZIP grants permission to any individual or institution to use, copy,
- ." or redistribute this software, so long as: (1) all of the original files
- ." are included; (2) it is not sold for profit; and (3) this notice is re-
- ." tained. See the UnZip COPYING file for details.
- ."
- ." unzipsfx.1 by Greg Roelofs
- ."
- ." =========================================================================
- ." define .Y macro (for user-command examples; normal Courier font):
- .de Y
- .ft CW
- .in +4n
- .nf
- &\$1
- .ft
- .in
- .fi
- ..
- ." =========================================================================
- .TH UNZIPSFX 1L "28 November 1998 (v5.4)" "Info-ZIP"
- .SH NAME
- unzipsfx - self-extracting stub for prepending to ZIP archives
- .PD
- .SH SYNOPSIS
- fB<name of unzipsfx+archive combo>fP [fB-cfptuzfP[fBajnoqsCLV$fP]]
- [fIfile(s)fP .|.|. [fB-xfP fIxfile(s)fP .|.|.]]
- .PD
- ." =========================================================================
- .SH DESCRIPTION
- fIunzipsfxfP is a modified version of fIunzipfP(1L) designed to be
- prepended to existing ZIP archives in order to form self-extracting archives.
- Instead of taking its first non-flag argument to be the zipfile(s) to be
- extracted, fIunzipsfxfP seeks itself under the name by which it was invoked
- and tests or extracts the contents of the appended archive. Because the
- executable stub adds bulk to the archive (the whole purpose of which is to
- be as small as possible), a number of the less-vital capabilities in regular
- fIunzipfP have been removed. Among these are the usage (or help) screen,
- the listing and diagnostic functions (fB-lfP and fB-vfP), the ability
- to decompress older compression formats (the ``reduce,'' ``shrink'' and
- ``implode'' methods), and the ability to extract to a directory other than
- the current one. Decryption is supported as a compile-time option but
- should be avoided unless the attached archive contains encrypted files.
- .PP
- fBNote that
- self-extracting archives made withfP fIunzipsfxfP fBare no more (or less)
- portable across different operating systems than is
- thefP fIunzipfP fBexecutable itself.fP In general a self-extracting
- archive made on
- a particular Unix system, for example, will only self-extract under the same
- flavor of Unix. Regular fIunzipfP may still be used to extract the
- embedded archive as with any normal zipfile, although it will generate
- a harmless warning about extra bytes at the beginning of the zipfile.
- fIDespite thisfP, however, the self-extracting archive is technically
- fInotfP a valid ZIP archive, and PKUNZIP may be unable to test or extract
- it. This limitation is due to the simplistic manner in which the archive
- is created; the internal directory structure is not updated to reflect the
- extra bytes prepended to the original zipfile.
- .PD
- ." =========================================================================
- .SH ARGUMENTS
- .IP [fIfile(s)fP]
- An optional list of archive members to be processed.
- Regular expressions (wildcards) similar to those in Unix fIegrepfP(1)
- may be used to match multiple members. These wildcards may contain:
- .RS
- .IP *
- matches a sequence of 0 or more characters
- .IP ?
- matches exactly 1 character
- .IP [.|.|.]
- matches any single character found inside the brackets; ranges are specified
- by a beginning character, a hyphen, and an ending character. If an exclamation
- point or a caret (`!' or `^') follows the left bracket, then the range of
- characters within the brackets is complemented (that is, anything fIexceptfP
- the characters inside the brackets is considered a match).
- .RE
- .IP
- (Be sure to quote any character that might otherwise be interpreted or
- modified by the operating system, particularly under Unix and VMS.)
- .IP [fB-xfP fIxfile(s)fP]
- An optional list of archive members to be excluded from processing.
- Since wildcard characters match directory separators (`/'), this option
- may be used to exclude any files that are in subdirectories. For
- example, ``fCfoosfx *.[ch] -x */*fR'' would extract all C source files
- in the main directory, but none in any subdirectories. Without the fB-xfP
- option, all C source files in all directories within the zipfile would be
- extracted.
- .PP
- If fIunzipsfxfP is compiled with SFX_EXDIR defined, the following option
- is also enabled:
- .IP [fB-dfP fIexdirfP]
- An optional directory to which to extract files. By default, all files
- and subdirectories are recreated in the current directory; the fB-dfP
- option allows extraction in an arbitrary directory (always assuming one
- has permission to write to the directory). The option and directory may
- be concatenated without any white space between them, but note that this
- may cause normal shell behavior to be suppressed. In particular,
- ``fC-d ~fR'' (tilde) is expanded by Unix C shells into the name
- of the user's home directory, but ``fC-d~fR'' is treated as a
- literal subdirectory ``fB~fP'' of the current directory.
- .PD
- ." =========================================================================
- .SH OPTIONS
- fIunzipsfxfP supports the following fIunzipfP(1L) options: fB-cfP
- and fB-pfP (extract to standard output/screen), fB-ffP and fB-ufP
- (freshen and update existing files upon extraction), fB-tfP (test
- archive) and fB-zfP (print archive comment). All normal listing options
- (fB-lfP, fB-vfP and fB-ZfP) have been removed, but the testing
- option (fB-tfP) may be used as a ``poor man's'' listing. Alternatively,
- those creating self-extracting archives may wish to include a short listing
- in the zipfile comment.
- .PP
- See fIunzipfP(1L) for a more complete description of these options.
- .PD
- ." =========================================================================
- .SH MODIFIERS
- fIunzipsfxfP currently supports all fIunzipfP(1L) modifiers: fB-afP
- (convert text files), fB-nfP (never overwrite), fB-ofP (overwrite
- without prompting), fB-qfP (operate quietly), fB-CfP (match names
- case-insenstively), fB-LfP (convert uppercase-OS names to lowercase),
- fB-jfP (junk paths) and fB-VfP (retain version numbers); plus the
- following operating-system specific options: fB-XfP (restore VMS
- owner/protection info), fB-sfP (convert spaces in filenames to underscores
- [DOS, OS/2, NT]) and fB-$fP (restore volume label [DOS, OS/2, NT, Amiga]).
- .PP
- (Support for regular ASCII text-conversion may be removed in future versions,
- since it is simple enough for the archive's creator to ensure that text
- files have the appropriate format for the local OS. EBCDIC conversion will
- of course continue to be supported since the zipfile format implies ASCII
- storage of text files.)
- .PP
- See fIunzipfP(1L) for a more complete description of these modifiers.
- .PD
- ." =========================================================================
- .SH "ENVIRONMENT OPTIONS"
- fIunzipsfxfP uses the same environment variables as fIunzipfP(1L) does,
- although this is likely to be an issue only for the person creating and
- testing the self-extracting archive. See fIunzipfP(1L) for details.
- .PD
- ." =========================================================================
- .SH DECRYPTION
- Decryption is supported exactly as in fIunzipfP(1L); that is, interactively
- with a non-echoing prompt for the password(s). See fIunzipfP(1L) for
- details. Once again, note that if the archive has no encrypted files there
- is no reason to use a version of fIunzipsfxfP with decryption support;
- that only adds to the size of the archive.
- .PD
- ." =========================================================================
- .SH EXAMPLES
- To create a self-extracting archive fIlettersfP from a regular zipfile
- fIletters.zipfP and change the new archive's permissions to be
- world-executable under Unix:
- .PP
- .PD 0
- .Y "cat unzipsfx letters.zip > letters"
- .Y "chmod 755 letters"
- .Y "zip -A letters"
- .PD
- .PP
- To create the same archive under MS-DOS, OS/2 or NT (note the use of the
- fB/bfP [binary] option to the fIcopyfP command):
- .PP
- .Y "copy /b unzipsfx.exe+letters.zip letters.exe"
- .Y "zip -A letters.exe"
- .PP
- Under VMS:
- .PP
- .Y "copy unzipsfx.exe,letters.zip letters.exe"
- .Y "letters == ""$currentdisk:[currentdir]letters.exe"""
- .Y "zip -A letters.exe"
- .PP
- (The VMS fIappendfP command may also be used. The second command installs
- the new program as a ``foreign command'' capable of taking arguments. The
- third line assumes that Zip is already installed as a foreign command.)
- Under AmigaDOS:
- .PP
- .Y "MakeSFX letters letters.zip UnZipSFX"
- .PP
- (MakeSFX is included with the UnZip source distribution and with Amiga
- binary distributions. ``fCzip -AfR'' doesn't work on Amiga self-extracting
- archives.)
- To test (or list) the newly created self-extracting archive:
- .PP
- .Y "letters -t"
- .PP
- To test fIlettersfP quietly, printing only a summary message indicating
- whether the archive is OK or not:
- .PP
- .Y "letters -tqq"
- .PP
- To extract the complete contents into the current directory, recreating all
- files and subdirectories as necessary:
- .PP
- .Y "letters"
- .PP
- To extract all fC*.txtfR files (in Unix quote the `*'):
- .PP
- .Y "letters *.txt"
- .PP
- To extract everything fIexceptfP the fC*.txtfR files:
- .PP
- .Y "letters -x *.txt"
- .PP
- To extract only the README file to standard output (the screen):
- .PP
- .Y "letters -c README"
- .PP
- To print only the zipfile comment:
- .PP
- .Y "letters -z"
- .PD
- ." =========================================================================
- .SH LIMITATIONS
- The principle and fundamental limitation of fIunzipsfxfP is that it is
- not portable across architectures or operating systems, and therefore
- neither are the resulting archives. For some architectures there is
- limited portability, however (e.g., between some flavors of Intel-based Unix).
- .PP
- Another problem with the current implementation is that any archive
- with ``junk'' prepended to the beginning technically is no longer a zipfile
- (unless fIzipfP(1) is used to adjust the zipfile offsets appropriately,
- as noted above). fIunzipfP(1) takes note of the prepended bytes
- and ignores them since some file-transfer protocols, notably MacBinary, are
- also known to prepend junk. But PKWARE's archiver suite may not be able to
- deal with the modified archive unless its offsets have been adjusted.
- .PP
- fIunzipsfxfP has no knowledge of the user's PATH, so in general an archive
- must either be in the current directory when it is invoked, or else a full
- or relative path must be given. If a user attempts to extract the archive
- from a directory in the PATH other than the current one, fIunzipsfxfP will
- print a warning to the effect, ``can't find myself.'' This is always true
- under Unix and may be true in some cases under MS-DOS, depending on the
- compiler used (Microsoft C fully qualifies the program name, but other
- compilers may not). Under OS/2 and NT there are operating-system calls
- available that provide the full path name, so the archive may be invoked
- from anywhere in the user's path. The situation is not known for AmigaDOS,
- Atari TOS, MacOS, etc.
- .PP
- As noted above, a number of the normal fIunzipfP(1L) functions have
- been removed in order to make fIunzipsfxfP smaller: usage and diagnostic
- info, listing functions and extraction to other directories. Also, only
- stored and deflated files are supported. The latter limitation is mainly
- relevant to those who create SFX archives, however.
- .PP
- VMS users must know how to set up self-extracting archives as foreign
- commands in order to use any of fIunzipsfxfP's options. This is not
- necessary for simple extraction, but the command to do so then becomes,
- e.g., ``fCrun lettersfR'' (to continue the examples given above).
- .PP
- fIunzipsfxfP on the Amiga requires the use of a special program, MakeSFX,
- in order to create working self-extracting archives; simple concatenation
- does not work. (For technically oriented users, the attached archive is
- defined as a ``debug hunk.'') There may be compatibility problems between
- the ROM levels of older Amigas and newer ones.
- .PP
- All current bugs in fIunzipfP(1L) exist in fIunzipsfxfP as well.
- .PD
- ." =========================================================================
- .SH DIAGNOSTICS
- fIunzipsfxfP's exit status (error level) is identical to that of
- fIunzipfP(1L); see the corresponding man page.
- .PD
- ." =========================================================================
- .SH "SEE ALSO"
- fIfunzipfP(1L), fIunzipfP(1L), fIzipfP(1L), fIzipcloakfP(1L),
- fIzipgrepfP(1L), fIzipinfofP(1L), fIzipnotefP(1L), fIzipsplitfP(1L)
- .PD
- .PD
- ." =========================================================================
- .SH URL
- The Info-ZIP home page is currently at fChttp://www.cdrom.com/pub/infozip/fR .
- .PD
- ." =========================================================================
- .SH AUTHORS
- Greg Roelofs was responsible for the basic modifications to UnZip necessary
- to create UnZipSFX. See fIunzipfP(1L) for the current list of Zip-Bugs
- authors, or the file CONTRIBS in the UnZip source distribution for the
- full list of Info-ZIP contributors.
- .PD