📄 unzipsfx.1
字号:
.\" 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 NAMEunzipsfx \- self-extracting stub for prepending to ZIP archives.PD.SH SYNOPSIS\fB<name of unzipsfx+archive combo>\fP [\fB\-cfptuz\fP[\fBajnoqsCLV$\fP]][\fIfile(s)\fP\ .\|.\|. [\fB\-x\fP\ \fIxfile(s)\fP\ .\|.\|.]].PD.\" =========================================================================.SH DESCRIPTION\fIunzipsfx\fP is a modified version of \fIunzip\fP(1L) designed to beprepended 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 beextracted, \fIunzipsfx\fP seeks itself under the name by which it was invokedand tests or extracts the contents of the appended archive. Because theexecutable stub adds bulk to the archive (the whole purpose of which is tobe as small as possible), a number of the less-vital capabilities in regular\fIunzip\fP have been removed. Among these are the usage (or help) screen,the listing and diagnostic functions (\fB\-l\fP and \fB\-v\fP), the abilityto decompress older compression formats (the ``reduce,'' ``shrink'' and``implode'' methods), and the ability to extract to a directory other thanthe current one. Decryption is supported as a compile-time option butshould be avoided unless the attached archive contains encrypted files..PP\fBNote thatself-extracting archives made with\fP \fIunzipsfx\fP \fBare no more (or less)portable across different operating systems than isthe\fP \fIunzip\fP \fBexecutable itself.\fP In general a self-extractingarchive made ona particular Unix system, for example, will only self-extract under the sameflavor of Unix. Regular \fIunzip\fP may still be used to extract theembedded archive as with any normal zipfile, although it will generatea harmless warning about extra bytes at the beginning of the zipfile.\fIDespite this\fP, however, the self-extracting archive is technically\fInot\fP a valid ZIP archive, and PKUNZIP may be unable to test or extractit. This limitation is due to the simplistic manner in which the archiveis created; the internal directory structure is not updated to reflect theextra 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 \fIegrep\fP(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 specifiedby a beginning character, a hyphen, and an ending character. If an exclamationpoint or a caret (`!' or `^') follows the left bracket, then the range ofcharacters within the brackets is complemented (that is, anything \fIexcept\fPthe characters inside the brackets is considered a match)..RE.IP(Be sure to quote any character that might otherwise be interpreted ormodified by the operating system, particularly under Unix and VMS.).IP [\fB\-x\fP\ \fIxfile(s)\fP]An optional list of archive members to be excluded from processing.Since wildcard characters match directory separators (`/'), this optionmay be used to exclude any files that are in subdirectories. Forexample, ``\fCfoosfx *.[ch] -x */*\fR'' would extract all C source filesin the main directory, but none in any subdirectories. Without the \fB\-x\fPoption, all C source files in all directories within the zipfile would beextracted..PPIf \fIunzipsfx\fP is compiled with SFX_EXDIR defined, the following optionis also enabled:.IP [\fB\-d\fP\ \fIexdir\fP]An optional directory to which to extract files. By default, all filesand subdirectories are recreated in the current directory; the \fB\-d\fPoption allows extraction in an arbitrary directory (always assuming onehas permission to write to the directory). The option and directory maybe concatenated without any white space between them, but note that thismay cause normal shell behavior to be suppressed. In particular,``\fC\-d\ ~\fR'' (tilde) is expanded by Unix C shells into the nameof the user's home directory, but ``\fC\-d~\fR'' is treated as aliteral subdirectory ``\fB~\fP'' of the current directory..PD.\" =========================================================================.SH OPTIONS\fIunzipsfx\fP supports the following \fIunzip\fP(1L) options: \fB\-c\fPand \fB\-p\fP (extract to standard output/screen), \fB\-f\fP and \fB\-u\fP(freshen and update existing files upon extraction), \fB\-t\fP (testarchive) and \fB\-z\fP (print archive comment). All normal listing options(\fB\-l\fP, \fB\-v\fP and \fB\-Z\fP) have been removed, but the testingoption (\fB\-t\fP) may be used as a ``poor man's'' listing. Alternatively,those creating self-extracting archives may wish to include a short listingin the zipfile comment..PPSee \fIunzip\fP(1L) for a more complete description of these options..PD.\" =========================================================================.SH MODIFIERS\fIunzipsfx\fP currently supports all \fIunzip\fP(1L) modifiers: \fB\-a\fP(convert text files), \fB\-n\fP (never overwrite), \fB\-o\fP (overwritewithout prompting), \fB\-q\fP (operate quietly), \fB\-C\fP (match namescase-insenstively), \fB\-L\fP (convert uppercase-OS names to lowercase),\fB\-j\fP (junk paths) and \fB\-V\fP (retain version numbers); plus thefollowing operating-system specific options: \fB\-X\fP (restore VMSowner/protection info), \fB\-s\fP (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 textfiles have the appropriate format for the local OS. EBCDIC conversion willof course continue to be supported since the zipfile format implies ASCIIstorage of text files.).PPSee \fIunzip\fP(1L) for a more complete description of these modifiers..PD.\" =========================================================================.SH "ENVIRONMENT OPTIONS"\fIunzipsfx\fP uses the same environment variables as \fIunzip\fP(1L) does,although this is likely to be an issue only for the person creating andtesting the self-extracting archive. See \fIunzip\fP(1L) for details..PD.\" =========================================================================.SH DECRYPTIONDecryption is supported exactly as in \fIunzip\fP(1L); that is, interactivelywith a non-echoing prompt for the password(s). See \fIunzip\fP(1L) fordetails. Once again, note that if the archive has no encrypted files thereis no reason to use a version of \fIunzipsfx\fP with decryption support;that only adds to the size of the archive..PD.\" =========================================================================.SH EXAMPLESTo create a self-extracting archive \fIletters\fP from a regular zipfile\fIletters.zip\fP and change the new archive's permissions to beworld-executable under Unix:.PP.PD 0.Y "cat unzipsfx letters.zip > letters".Y "chmod 755 letters".Y "zip -A letters".PD.PPTo create the same archive under MS-DOS, OS/2 or NT (note the use of the\fB/b\fP [binary] option to the \fIcopy\fP command):.PP.Y "copy /b unzipsfx.exe+letters.zip letters.exe".Y "zip -A letters.exe".PPUnder VMS:.PP.Y "copy unzipsfx.exe,letters.zip letters.exe".Y "letters == ""$currentdisk:[currentdir]letters.exe""".Y "zip -A letters.exe".PP(The VMS \fIappend\fP command may also be used. The second command installsthe new program as a ``foreign command'' capable of taking arguments. Thethird 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 Amigabinary distributions. ``\fCzip -A\fR'' doesn't work on Amiga self-extractingarchives.)To test (or list) the newly created self-extracting archive:.PP.Y "letters \-t".PPTo test \fIletters\fP quietly, printing only a summary message indicatingwhether the archive is OK or not:.PP.Y "letters \-tqq".PPTo extract the complete contents into the current directory, recreating allfiles and subdirectories as necessary:.PP.Y "letters".PPTo extract all \fC*.txt\fR files (in Unix quote the `*'):.PP.Y "letters *.txt".PPTo extract everything \fIexcept\fP the \fC*.txt\fR files:.PP.Y "letters -x *.txt".PPTo extract only the README file to standard output (the screen):.PP.Y "letters -c README".PPTo print only the zipfile comment:.PP.Y "letters \-z".PD.\" =========================================================================.SH LIMITATIONSThe principle and fundamental limitation of \fIunzipsfx\fP is that it isnot portable across architectures or operating systems, and thereforeneither are the resulting archives. For some architectures there islimited portability, however (e.g., between some flavors of Intel-based Unix)..PPAnother problem with the current implementation is that any archivewith ``junk'' prepended to the beginning technically is no longer a zipfile(unless \fIzip\fP(1) is used to adjust the zipfile offsets appropriately,as noted above). \fIunzip\fP(1) takes note of the prepended bytesand ignores them since some file-transfer protocols, notably MacBinary, arealso known to prepend junk. But PKWARE's archiver suite may not be able todeal with the modified archive unless its offsets have been adjusted..PP\fIunzipsfx\fP has no knowledge of the user's PATH, so in general an archivemust either be in the current directory when it is invoked, or else a fullor relative path must be given. If a user attempts to extract the archivefrom a directory in the PATH other than the current one, \fIunzipsfx\fP willprint a warning to the effect, ``can't find myself.'' This is always trueunder Unix and may be true in some cases under MS-DOS, depending on thecompiler used (Microsoft C fully qualifies the program name, but othercompilers may not). Under OS/2 and NT there are operating-system callsavailable that provide the full path name, so the archive may be invokedfrom anywhere in the user's path. The situation is not known for AmigaDOS,Atari TOS, MacOS, etc..PPAs noted above, a number of the normal \fIunzip\fP(1L) functions havebeen removed in order to make \fIunzipsfx\fP smaller: usage and diagnosticinfo, listing functions and extraction to other directories. Also, onlystored and deflated files are supported. The latter limitation is mainlyrelevant to those who create SFX archives, however..PPVMS users must know how to set up self-extracting archives as foreigncommands in order to use any of \fIunzipsfx\fP's options. This is notnecessary for simple extraction, but the command to do so then becomes,e.g., ``\fCrun letters\fR'' (to continue the examples given above)..PP\fIunzipsfx\fP on the Amiga requires the use of a special program, MakeSFX,in order to create working self-extracting archives; simple concatenationdoes not work. (For technically oriented users, the attached archive isdefined as a ``debug hunk.'') There may be compatibility problems betweenthe ROM levels of older Amigas and newer ones..PPAll current bugs in \fIunzip\fP(1L) exist in \fIunzipsfx\fP as well..PD.\" =========================================================================.SH DIAGNOSTICS\fIunzipsfx\fP's exit status (error level) is identical to that of\fIunzip\fP(1L); see the corresponding man page..PD.\" =========================================================================.SH "SEE ALSO"\fIfunzip\fP(1L), \fIunzip\fP(1L), \fIzip\fP(1L), \fIzipcloak\fP(1L),\fIzipgrep\fP(1L), \fIzipinfo\fP(1L), \fIzipnote\fP(1L), \fIzipsplit\fP(1L).PD.PD.\" =========================================================================.SH URLThe Info-ZIP home page is currently at \fChttp://www.cdrom.com/pub/infozip/\fR ..PD.\" =========================================================================.SH AUTHORSGreg Roelofs was responsible for the basic modifications to UnZip necessaryto create UnZipSFX. See \fIunzip\fP(1L) for the current list of Zip-Bugsauthors, or the file CONTRIBS in the UnZip source distribution for thefull list of Info-ZIP contributors..PD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -