📄 unzip.txt
字号:
-: [all but Acorn, VM/CMS, MVS, Tandem] allows to extract archive members into locations outside of the current `` extraction root folder''. For secu- rity reasons, unzip normally removes ``parent dir'' path components (``../'') from the names of extracted file. This safety feature (new for ver- sion 5.50) prevents unzip from accidentally writing files to ``sensitive'' areas outside the active extraction folder tree head. The -: option lets unzip switch back to its previous, more liberal behaviour, to allow exact extraction of (older) archives that used ``../'' components to create multiple directory trees at the level of the cur- rent extraction folder. This option does not enable writing explicitly to the root directory (``/''). To achieve this, it is necessary to set the extraction target folder to root (e.g. -d / ). However, when the -: option is specified, it is still possible to implicitly write to the root directory by specifiying enough ``../'' path compo- nents within the zip archive. Use this option with extreme caution.ENVIRONMENT OPTIONS unzip's default behavior may be modified via options placed in an environment variable. This can be done with any option, but it is probably most useful with the -a, -L, -C, -q, -o, or -n modifiers: make unzip auto-convert text files by default, make it convert filenames from uppercase systems to lowercase, make it match names case- insensitively, make it quieter, or make it always over- write or never overwrite files as it extracts them. For example, to make unzip act as quietly as possible, only reporting errors, one would use one of the following com- mands: Unix Bourne shell: UNZIP=-qq; export UNZIP Unix C shell: setenv UNZIP -qq OS/2 or MS-DOS: set UNZIP=-qq VMS (quotes for lowercase): define UNZIP_OPTS ""-qq""Info-ZIP 28 February 2005 (v5.52) 10UNZIP(1L) UNZIP(1L) Environment options are, in effect, considered to be just like any other command-line options, except that they are effectively the first options on the command line. To override an environment option, one may use the ``minus operator'' to remove it. For instance, to override one of the quiet-flags in the example above, use the command unzip --q[other options] zipfile The first hyphen is the normal switch character, and the second is a minus sign, acting on the q option. Thus the effect here is to cancel one quantum of quietness. To cancel both quiet flags, two (or more) minuses may be used: unzip -t--q zipfile unzip ---qt zipfile (the two are equivalent). This may seem awkward or con- fusing, but it is reasonably intuitive: just ignore the first hyphen and go from there. It is also consistent with the behavior of Unix nice(1). As suggested by the examples above, the default variable names are UNZIP_OPTS for VMS (where the symbol used to install unzip as a foreign command would otherwise be con- fused with the environment variable), and UNZIP for all other operating systems. For compatibility with zip(1L), UNZIPOPT is also accepted (don't ask). If both UNZIP and UNZIPOPT are defined, however, UNZIP takes precedence. unzip's diagnostic option (-v with no zipfile name) can be used to check the values of all four possible unzip and zipinfo environment variables. The timezone variable (TZ) should be set according to the local timezone in order for the -f and -u to operate cor- rectly. See the description of -f above for details. This variable may also be necessary to get timestamps of extracted files to be set correctly. The WIN32 (Win9x/ME/NT4/2K/XP/2K3) port of unzip gets the timezone configuration from the registry, assuming it is correctly set in the Control Panel. The TZ variable is ignored for this port.DECRYPTION Encrypted archives are fully supported by Info-ZIP soft- ware, but due to United States export restrictions, de-/encryption support might be disabled in your compiled binary. However, since spring 2000, US export restric- tions have been liberated, and our source archives do now include full crypt code. In case you need binary distri- butions with crypt support enabled, see the file ``WHERE'' in any Info-ZIP source or binary distribution for loca- tions both inside and outside the US.Info-ZIP 28 February 2005 (v5.52) 11UNZIP(1L) UNZIP(1L) Some compiled versions of unzip may not support decryp- tion. To check a version for crypt support, either attempt to test or extract an encrypted archive, or else check unzip's diagnostic screen (see the -v option above) for ``[decryption]'' as one of the special compilation options. As noted above, the -P option may be used to supply a password on the command line, but at a cost in security. The preferred decryption method is simply to extract nor- mally; if a zipfile member is encrypted, unzip will prompt for the password without echoing what is typed. unzip continues to use the same password as long as it appears to be valid, by testing a 12-byte header on each file. The correct password will always check out against the header, but there is a 1-in-256 chance that an incorrect password will as well. (This is a security feature of the PKWARE zipfile format; it helps prevent brute-force attacks that might otherwise gain a large speed advantage by testing only the header.) In the case that an incor- rect password is given but it passes the header test any- way, either an incorrect CRC will be generated for the extracted data or else unzip will fail during the extrac- tion because the ``decrypted'' bytes do not constitute a valid compressed data stream. If the first password fails the header check on some file, unzip will prompt for another password, and so on until all files are extracted. If a password is not known, entering a null password (that is, just a carriage return or ``Enter'') is taken as a signal to skip all further prompting. Only unencrypted files in the archive(s) will thereafter be extracted. (In fact, that's not quite true; older versions of zip(1L) and zipcloak(1L) allowed null passwords, so unzip checks each encrypted file to see if the null password works. This may result in ``false posi- tives'' and extraction errors, as noted above.) Archives encrypted with 8-bit passwords (for example, passwords with accented European characters) may not be portable across systems and/or other archivers. This problem stems from the use of multiple encoding methods for such characters, including Latin-1 (ISO 8859-1) and OEM code page 850. DOS PKZIP 2.04g uses the OEM code page; Windows PKZIP 2.50 uses Latin-1 (and is therefore incompatible with DOS PKZIP); Info-ZIP uses the OEM code page on DOS, OS/2 and Win3.x ports but Latin-1 everywhere else; and Nico Mak's WinZip 6.x does not allow 8-bit pass- words at all. UnZip 5.3 (or newer) attempts to use the default character set first (e.g., Latin-1), followed by the alternate one (e.g., OEM code page) to test passwords. On EBCDIC systems, if both of these fail, EBCDIC encoding will be tested as a last resort. (EBCDIC is not tested on non-EBCDIC systems, because there are no known archiversInfo-ZIP 28 February 2005 (v5.52) 12UNZIP(1L) UNZIP(1L) that encrypt using EBCDIC encoding.) ISO character encod- ings other than Latin-1 are not supported.EXAMPLES To use unzip to extract all members of the archive let- ters.zip into the current directory and subdirectories below it, creating any subdirectories as necessary: unzip letters To extract all members of letters.zip into the current directory only: unzip -j letters To test letters.zip, printing only a summary message indi- cating whether the archive is OK or not: unzip -tq letters To test all zipfiles in the current directory, printing only the summaries: unzip -tq \*.zip (The backslash before the asterisk is only required if the shell expands wildcards, as in Unix; double quotes could have been used instead, as in the source examples below.) To extract to standard output all members of let- ters.zip whose names end in .tex, auto-converting to the local end-of-line convention and piping the output into more(1): unzip -ca letters \*.tex | more To extract the binary file paper1.dvi to standard output and pipe it to a printing program: unzip -p articles paper1.dvi | dvips To extract all FORTRAN and C source files--*.f, *.c, *.h, and Makefile--into the /tmp directory: unzip source.zip "*.[fch]" Makefile -d /tmp (the double quotes are necessary only in Unix and only if globbing is turned on). To extract all FORTRAN and C source files, regardless of case (e.g., both *.c and *.C, and any makefile, Makefile, MAKEFILE or similar): unzip -C source.zip "*.[fch]" makefile -d /tmp To extract any such files but convert any uppercase MS-DOS or VMS names to lowercase and convert the line-endings ofInfo-ZIP 28 February 2005 (v5.52) 13UNZIP(1L) UNZIP(1L) all of the files to the local standard (without respect to any files that might be marked ``binary''): unzip -aaCL source.zip "*.[fch]" makefile -d /tmp To extract only newer versions of the files already in the current directory, without querying (NOTE: be careful of unzipping in one timezone a zipfile created in another--ZIP archives other than those created by Zip 2.1 or later contain no timezone information, and a ``newer'' file from an eastern timezone may, in fact, be older): unzip -fo sources To extract newer versions of the files already in the cur- rent directory and to create any files not already there (same caveat as previous example): unzip -uo sources To display a diagnostic screen showing which unzip and zipinfo options are stored in environment variables, whether decryption support was compiled in, the compiler with which unzip was compiled, etc.: unzip -v In the last five examples, assume that UNZIP or UNZIP_OPTS is set to -q. To do a singly quiet listing: unzip -l file.zip To do a doubly quiet listing: unzip -ql file.zip (Note that the ``.zip'' is generally not necessary.) To do a standard listing:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -