Man Unzip. - 7/30/08


NAME
     unzip - list, test and extract compressed  files  in  a  ZIP
     archive

SYNOPSIS
     unzip     [-Z]     [-cflptuvz[abjnoqsCLMVX$]]     file[.zip]
     [file(s) ...]  [-x xfile(s) ...] [-d exdir]

DESCRIPTION
     unzip will list, test, or extract files from a ZIP  archive.
     The  default  behavior  (with no options) is to extract into
     the current directory  (and  subdirectories  below  it)  all
     files  from the specified ZIP archive.  A companion program,
     zip  (available   from   http://www.cdrom.com/pub/infozip/),
     creates  ZIP  archives;  both  programs  are compatible with
     archives created by PKWARE's PKZIP and PKUNZIP  for  MS-DOS,
     but  in  many cases the program options or default behaviors
     differ.

ARGUMENTS
     file[.zip]
          Path of the ZIP archive(s).  If the file  specification
          is  a  wildcard,  each matching file is processed in an
          order determined by the operating system (or file  sys-
          tem).   Only  the  filename can be a wildcard; the path
          itself cannot.  Wildcard  expressions  are  similar  to
          Unix egrep(1) (regular) expressions and may contain:

          *    matches a sequence of 0 or more characters

          ?    matches exactly 1 character

          [...]
               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 `^') fol-
               lows the left bracket, then the range  of  charac-
               ters within the brackets is complemented (that is,
               anything except the characters inside the brackets
               is considered a match).

          (Be sure to quote any character that might otherwise be
          interpreted  or  modified by the operating system, par-
          ticularly under Unix  and  VMS.)   If  no  matches  are
          found,  the  specification  is  assumed to be a literal
          filename; and if that also fails, the  suffix  .zip  is
          appended.  Note that self-extracting ZIP files are sup-
          ported, as with any other ZIP archive; just specify the
          .exe suffix (if any) explicitly.

     [file(s)]

          An optional list of archive members  to  be  processed,
          separated  by  spaces.   (VMS  versions  compiled  with
          VMSCLI defined must delimit files with commas  instead.
          See  -v  in OPTIONS below.)  Regular expressions (wild-
          cards) may be  used  to  match  multiple  members;  see
          above.   Again, be sure to quote expressions that would
          otherwise be expanded or modified by the operating sys-
          tem.

     [-x xfile(s)]
          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,
          ``unzip foo *.[ch] -x */*'' would extract all C  source
          files  in the main directory, but none in any subdirec-
          tories.  Without the -x option, all C source  files  in
          all directories within the zipfile would be extracted.

     [-d exdir]
          An optional directory to which to  extract  files.   By
          default,  all files and subdirectories are recreated in
          the current directory; the -d option allows  extraction
          in an arbitrary directory (always assuming one has per-
          mission to write to the directory).  This  option  need
          not  appear  at the end of the command line; it is also
          accepted before the  zipfile  specification  (with  the
          normal options), immediately after the zipfile specifi-
          cation, or between the file(s) and the -x option.   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,
          ``-d ~'' (tilde) is expanded by Unix C shells into  the
          name  of  the  user's  home  directory,  but ``-d~'' is
          treated as a literal subdirectory ``~'' of the  current
          directory.

OPTIONS
     Note that, in order to support obsolescent hardware, unzip's
     usage  screen is limited to 22 or 23 lines and should there-
     fore be considered only a reminder of the basic unzip syntax
     rather  than  an exhaustive list of all possible flags.  The
     exhaustive list follows:

     -Z   zipinfo(1) mode.  If the first option  on  the  command
          line  is  -Z,  the  remaining  options  are taken to be
          zipinfo(1) options.  See the  appropriate  manual  page
          for a description of these options.

     -A   [OS/2, Unix DLL] print extended help for the DLL's pro-
          gramming interface (API).

     -c   extract files to stdout/screen (``CRT'').  This  option
          is  similar  to  the  -p option except that the name of
          each file is printed as it is extracted, the -a  option
          is  allowed,  and  ASCII-EBCDIC conversion is automati-
          cally performed if appropriate.   This  option  is  not
          listed in the unzip usage screen.

     -f   freshen existing files, i.e., extract only those  files
          that  already exist on disk and that are newer than the
          disk copies.  By default unzip queries before overwrit-
          ing,  but  the  -o  option  may be used to suppress the
          queries.  Note that under many operating  systems,  the
          TZ   (timezone)   environment   variable  must  be  set
          correctly in order for  -f  and  -u  to  work  properly
          (under Unix the variable is usually set automatically).
          The reasons for this are somewhat subtle but have to do
          with  the  differences  between  DOS-format  file times
          (always local time) and Unix-format  times  (always  in
          GMT/UTC) and the necessity to compare the two.  A typi-
          cal TZ value  is  ``PST8PDT''  (US  Pacific  time  with
          automatic  adjustment  for  Daylight  Savings  Time  or
          ``summer time'').

     -l   list  archive  files  (short   format).    The   names,
          uncompressed  file  sizes  and  modification  dates and
          times of the specified files are  printed,  along  with
          totals  for all files specified.  If UnZip was compiled
          with OS2_EAS defined, the -l option also lists  columns
          for  the sizes of stored OS/2 extended attributes (EAs)
          and OS/2 access control lists (ACLs).  In addition, the
          zipfile  comment  and individual file comments (if any)
          are displayed.  If a file was archived from  a  single-
          case  file system (for example, the old MS-DOS FAT file
          system) and the -L option was given,  the  filename  is
          converted  to  lowercase  and  is prefixed with a caret
          (^).

     -p   extract files to pipe (stdout).  Nothing but  the  file
          data  is  sent  to  stdout,  and  the  files are always
          extracted in binary format, just as they are stored (no
          conversions).

     -t   test archive files.  This option extracts  each  speci-
          fied file in memory and compares the CRC (cyclic redun-
          dancy check, an enhanced checksum) of the expanded file
          with the original file's stored CRC value.

     -T   [most OSes] set the timestamp on the archive(s) to that
          of  the  newest  file in each one.  This corresponds to
          zip's -go option except that it can be used on wildcard
          zipfiles  (e.g.,  ``unzip -T \*.zip'') and is much fas-
          ter.

     -u   update existing files and create new  ones  if  needed.
          This  option  performs  the  same  function  as  the -f
          option, extracting (with query) files  that  are  newer
          than  those with the same name on disk, and in addition
          it extracts those files that do not  already  exist  on
          disk.   See  -f  above  for  information on setting the
          timezone properly.

     -v   be verbose or  print  diagnostic  version  info.   This
          option  has  evolved  and now behaves as both an option
          and a modifier.  As an  option  it  has  two  purposes:
          when  a  zipfile is specified with no other options, -v
          lists archive files verbosely, adding to the  basic  -l
          info  the compression method, compressed size, compres-
          sion ratio and 32-bit CRC.  When no zipfile  is  speci-
          fied  (that  is, the complete command is simply ``unzip
          -v''), a diagnostic screen is printed.  In addition  to
          the  normal header with release date and version, unzip
          lists the home Info-ZIP ftp site and where  to  find  a
          list of other ftp and non-ftp sites; the target operat-
          ing system for which it was compiled, as well as  (pos-
          sibly)  the hardware on which it was compiled, the com-
          piler and version used, and the compilation  date;  any
          special  compilation  options  that  might  affect  the
          program's operation (see also  DECRYPTION  below);  and
          any  options stored in environment variables that might
          do the same (see  ENVIRONMENT  OPTIONS  below).   As  a
          modifier  it  works  in  conjunction with other options
          (e.g., -t) to produce more verbose or debugging output;
          this is not yet fully implemented but will be in future
          releases.

     -z   display only the archive comment.

MODIFIERS
     -a   convert text files.  Ordinarily all files are extracted
          exactly  as they are stored (as ``binary'' files).  The
          -a option causes files identified by zip as text  files
          (those  with  the `t' label in zipinfo listings, rather
          than `b') to be automatically extracted as  such,  con-
          verting  line  endings,  end-of-file characters and the
          character set itself as necessary.  (For example,  Unix
          files  use  line  feeds (LFs) for end-of-line (EOL) and
          have no end-of-file (EOF) marker; Macintoshes use  car-
          riage  returns  (CRs)  for  EOLs; and most PC operating
          systems use CR+LF for EOLs and control-Z for  EOF.   In
          addition, IBM mainframes and the Michigan Terminal Sys-
          tem use EBCDIC rather than the more common ASCII  char-
          acter  set,  and NT supports Unicode.)  Note that zip's
          identification of text files is by  no  means  perfect;
          some  ``text''  files  may  actually be binary and vice
          versa.    unzip   therefore   prints   ``[text]''    or

          ``[binary]''  as  a  visual  check  for  each  file  it
          extracts when using the  -a  option.   The  -aa  option
          forces all files to be extracted as text, regardless of
          the supposed file type.

     -b   [non-VMS] treat all files as binary  (no  text  conver-
          sions).  This is a shortcut for ---a.

     -b   [VMS] auto-convert  binary  files  (see  -a  above)  to
          fixed-length,  512-byte  record  format.   Doubling the
          option (-bb) forces all files to be extracted  in  this
          format.

     -B   [Unix  only,  and  only  if  compiled  with  UNIXBACKUP
          defined]  save  a  backup copy of each overwritten file
          with a tilde appended (e.g., the old copy of ``foo'' is
          renamed  to  ``foo~'').  This is similar to the default
          behavior of emacs(1) in many locations.

     -C   match filenames case-insensitively.  unzip's philosophy
          is ``you get what you ask for'' (this is also responsi-
          ble for the -L/-U  change;  see  the  relevant  options
          below).   Because  some  file  systems  are fully case-
          sensitive (notably those under the Unix operating  sys-
          tem) and because both ZIP archives and unzip itself are
          portable across platforms, unzip's default behavior  is
          to  match  both  wildcard  and  literal filenames case-
          sensitively.  That is, specifying ``makefile''  on  the
          command  line  will  only  match  ``makefile''  in  the
          archive, not ``Makefile'' or  ``MAKEFILE''  (and  simi-
          larly  for  wildcard  specifications).  Since this does
          not  correspond  to  the   behavior   of   many   other
          operating/file  systems  (for example, OS/2 HPFS, which
          preserves mixed case but is not sensitive to  it),  the
          -C  option may be used to force all filename matches to
          be case-insensitive.  In the example above,  all  three
          files  would  then match ``makefile'' (or ``make*'', or
          similar).  The -C option affects files in both the nor-
          mal file list and the excluded-file list (xlist).

     -j   junk paths.  The archive's directory structure  is  not
          recreated;  all  files  are deposited in the extraction
          directory (by default, the current one).

     -L   convert to lowercase any  filename  originating  on  an
          uppercase-only  operating system or file system.  (This
          was unzip's default behavior in releases prior to 5.11;
          the  new  default  behavior  is  identical  to  the old
          behavior with the -U option, which is now obsolete  and
          will be removed in a future release.)  Depending on the
          archiver, files archived under single-case file systems
          (VMS,  old  MS-DOS  FAT,  etc.)  may  be stored as all-

          uppercase names; this can be ugly or inconvenient  when
          extracting  to  a  case-preserving  file system such as
          OS/2 HPFS or a case-sensitive one such as  under  Unix.
          By  default  unzip  lists  and  extracts such filenames
          exactly  as  they're  stored   (excepting   truncation,
          conversion   of  unsupported  characters,  etc.);  this
          option causes the names of all files from certain  sys-
          tems to be converted to lowercase.

     -M   pipe all output through an internal  pager  similar  to
          the  Unixmore(1) command.  At the end of a screenful of
          output, unzip pauses with a  ``--More--''  prompt;  the
          next  screenful  may  be  viewed  by pressing the Enter
          (Return) key or the space bar.  unzip can be terminated
          by  pressing  the  ``q''  key and, on some systems, the
          Enter/Return key.  Unlike Unix  more(1),  there  is  no
          forward-searching  or  editing capability.  Also, unzip
          doesn't notice if long lines wrap at the  edge  of  the
          screen, effectively resulting in the printing of two or
          more lines and  the  likelihood  that  some  text  will
          scroll  off  the top of the screen before being viewed.
          On some systems the number of available  lines  on  the
          screen is not detected, in which case unzip assumes the
          height is 24 lines.

     -n   never overwrite existing  files.   If  a  file  already
          exists,  skip  the  extraction  of  that  file  without
          prompting.  By default unzip queries before  extracting
          any  file  that  already exists; the user may choose to
          overwrite only the current file, overwrite  all  files,
          skip extraction of the current file, skip extraction of
          all existing files, or rename the current file.

     -N   [Amiga] extract file comments as Amiga filenotes.  File
          comments are created with the -c option of zip, or with
          the -N option of the Amiga port of  zip,  which  stores
          filenotes as comments.

     -o   overwrite existing files without prompting.  This is  a
          dangerous  option,  so  use it with care.  (It is often
          used with -f, however, and is the only way to overwrite
          directory EAs under OS/2.)

     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 overwrite 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 commands:

         UNZIP=-qq; export UNZIP    Unix Bourne shell
         setenv UNZIP -qq           Unix C shell
         set UNZIP=-qq              OS/2 or MS-DOS
         define UNZIP_OPTS "-qq"    VMS (quotes for lowercase)

     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 over-
     ride  an  environment option, one may use the ``minus opera-
     tor'' 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  can-
     cel 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  confus-
     ing,  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,  UNZI-
     POPT  is also accepted (don't ask).  If both UNZIP and UNZI-
     POPT 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
     correctly.  See the description of  -f  above  for  details.
     This  variable may also be necessary in order for timestamps
     on extracted files to be set correctly.  Under Windows 95/NT
     unzip  should know the correct timezone even if TZ is unset,
     assuming the timezone is correctly set in the Control Panel.

DECRYPTION
     Encrypted archives are fully supported by Info-ZIP software,
     but due to United States export restrictions, the encryption
     and decryption sources are not  packaged  with  the  regular

     unzip  and  zip distributions.  Since the crypt sources were
     written by Europeans, however, they are freely available  at
     sites         throughout        the        world;        see
     http://www.cdrom.com/pub/infozip/doc/WHERE or the WHERE file
     in  any Info-ZIP source or binary distribution for locations
     both inside and outside the US.

     Because of the separate distribution, not all compiled  ver-
     sions  of  unzip support decryption.  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  pass-
     word  on  the  command line, but at a cost in security.  The
     preferred decryption method is simply to  extract  normally;
     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 incorrect password is given but it  passes  the
     header  test  anyway,  either  an incorrect CRC will be gen-
     erated for the extracted data or else unzip will fail during
     the  extraction  because the ``decrypted'' bytes do not con-
     stitute 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 and zipcloak allowed null passwords, so unzip checks
     each encrypted file to see if the null password works.  This
     may  result in ``false positives'' and extraction errors, as
     noted above.)

     Archives encrypted with 8-bit passwords (for example,  pass-
     words 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 charac-
     ters, 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 passwords at all.  UnZip 5.3 attempts
     to use the default character set first (e.g., Latin-1), fol-
     lowed  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.  (Since there are
     no known  archivers  that  encrypt  using  EBCDIC  encoding,
     EBCDIC  is not tested on non-EBCDIC systems.)  ISO character
     encodings other than Latin-1 are not supported.

EXAMPLES
     To  use  unzip  to  extract  all  members  of  the   archive
     letters.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
     letters.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 of
     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 con-
     tain 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
     current  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:

         unzip --ql file.zip
     or
         unzip -l-q file.zip

     or
         unzip -l--q file.zip       (extra minuses don't hurt)

TIPS
     The current maintainer, being a lazy  sort,  finds  it  very
     useful  to  define  a pair of aliases:  tt for ``unzip -tq''
     and ii for ``unzip -Z'' (or ``zipinfo'').  One may then sim-
     ply  type  ``tt zipfile'' to test an archive, something that
     is worth making a habit of  doing.   With  luck  unzip  will
     report   ``No   errors   detected   in  compressed  data  of
     zipfile.zip,'' after which one may breathe a sigh of relief.

     The maintainer  also  finds  it  useful  to  set  the  UNZIP
     environment variable to ``-aL'' and is tempted to add ``-C''
     as well.  His ZIPINFO variable is set to ``-z''.

DIAGNOSTICS
     The exit status (or error level) approximates the exit codes
     defined  by PKWARE and takes on the following values, except
     under VMS:

          0    normal; no errors or warnings detected.

          1    one or more warning errors were  encountered,  but
               processing  completed  successfully  anyway.  This
               includes zipfiles where  one  or  more  files  was
               skipped  due  to unsupported compression method or
               encryption with an unknown password.

          2    a  generic  error  in  the  zipfile   format   was
               detected.   Processing may have completed success-
               fully anyway;  some  broken  zipfiles  created  by
               other archivers have simple work-arounds.

          3    a severe error in the zipfile format was detected.
               Processing probably failed immediately.

          4    unzip was unable to allocate  memory  for  one  or
               more buffers during program initialization.

          5    unzip was unable to allocate memory or  unable  to
               obtain a tty to read the decryption password(s).

          6    unzip  was  unable  to  allocate   memory   during
               decompression to disk.

          7    unzip was unable to  allocate  memory  during  in-
               memory decompression.

          8    [currently not used]

          9    the specified zipfiles were not found.

          10   invalid options  were  specified  on  the  command
               line.

          11   no matching files were found.

          50   the disk is (or was) full during extraction.

          51   the end of the ZIP archive was encountered  prema-
               turely.

          80   the user aborted unzip prematurely with  control-C
               (or similar)

          81   testing or extraction of one or more files  failed
               due  to  unsupported compression methods or unsup-
               ported decryption.

          82   no  files  were  found  due  to   bad   decryption
               password(s).   (If  even  one file is successfully
               processed, however, the exit status is 1.)

     VMS interprets standard Unix (or PC) return values as other,
     scarier-looking  things,  so  unzip  instead  maps them into
     VMS-style status codes.  The current mapping is as  follows:
     1  (success) for normal exit, 0x7fff0001 for warning errors,
     and (0x7fff000? + 16*normal_unzip_exit_status) for all other
     errors,  where the `?' is 2 (error) for unzip values 2, 9-11
     and 80-82, and 4 (fatal error) for the remaining ones  (3-8,
     50,  51).   In  addition,  there  is a compilation option to
     expand upon this behavior:  defining RETURN_CODES results in
     a human-readable explanation of what the error status means.

BUGS
     Multi-part archives are not yet supported,  except  in  con-
     junction with zip.  (All parts must be concatenated together
     in order, and then ``zip -F'' must be performed on the  con-
     catenated archive in order to ``fix'' it.)  This will defin-
     itely be corrected in the next major release.

     Archives read from standard input  are  not  yet  supported,
     except  with  funzip  (and then only the first member of the
     archive can be extracted).

     Archives encrypted with  8-bit  passwords  (e.g.,  passwords
     with  accented  European  characters)  may  not  be portable
     across systems and/or other archivers.  See  the  discussion
     in DECRYPTION above.

     unzip's -M (``more'') option is  overly  simplistic  in  its
     handling  of  screen  output;  as  noted  above, it fails to
     detect the wrapping of long  lines  and  may  thereby  cause
     lines  at  the  top  of the screen to be scrolled off before

     being read.  unzip should detect and treat  each  occurrence
     of  line-wrap as one additional line printed.  This requires
     knowledge of the screen's width as well as its  height.   In
     addition,  unzip  should  detect the true screen geometry on
     all systems.

     Dates, times and permissions of stored directories  are  not
     restored except under Unix.

     [MS-DOS] When extracting or testing files from an archive on
     a  defective  floppy  diskette,  if  the  ``Fail'' option is
     chosen from DOS's ``Abort,  Retry,  Fail?''  message,  older
     versions  of  unzip may hang the system, requiring a reboot.
     This  problem  appears  to  be  fixed,  but  control-C   (or
     control-Break) can still be used to terminate unzip.

     Under DEC Ultrix, unzip would sometimes fail  on  long  zip-
     files   (bad   CRC,  not  always  reproducible).   This  was
     apparently due either to a hardware bug (cache memory) or an
     operating  system  bug  (improper handling of page faults?).
     Since Ultrix has been abandoned in  favor  of  Digital  Unix
     (OSF/1), this may not be an issue anymore.

     [Unix] Unix  special  files  such  as  FIFO  buffers  (named
     pipes), block devices and character devices are not restored
     even if they are somehow represented in the zipfile, nor are
     hard-linked  files  relinked.  Basically the only file types
     restored by unzip are regular files,  directories  and  sym-
     bolic (soft) links.

     [OS/2] Extended attributes for existing directories are only
     updated if the -o (``overwrite all'') option is given.  This
     is a limitation of the operating system; because directories
     only have a creation time associated with them, unzip has no
     way to determine whether the stored attributes are newer  or
     older  than those on disk.  In practice this may mean a two-
     pass approach is required:  first unpack  the  archive  nor-
     mally  (with or without freshening/updating existing files),
     then overwrite just the directory entries (e.g., ``unzip  -o
     foo */'').

     [VMS] When extracting to another directory, only the  [.foo]
     syntax  is  accepted  for the -d option; the simple Unix foo
     syntax is silently  ignored  (as  is  the  less  common  VMS
     foo.dir syntax).

     [VMS] When the file being extracted already exists,  unzip's
     query  only  allows skipping, overwriting or renaming; there
     should additionally be a choice for creating a  new  version
     of  the file.  In fact, the ``overwrite'' choice does create
     a new  version;  the  old  version  is  not  overwritten  or
     deleted.

SEE ALSO
     zipinfo(1)

URL
     The    Info-ZIP    home     page     is     currently     at
     http://www.cdrom.com/pub/infozip/ .

COPYRIGHT
     Distributed  with  permission  from  Info-ZIP.   Please  see
     http://www.cdrom.com/pub/infozip/doc/COPYING  for  copyright
     information.

AUTHORS
     The primary Info-ZIP authors (current semi-active members of
     the  Zip-Bugs  workgroup)  are:   Greg ``Cave Newt'' Roelofs
     (UnZip);  Onno  van  der  Linden  (Zip);  Jean-loup   Gailly
     (compression); Mark Adler (decompression, fUnZip); Christian
     Spieler (VMS, MS-DOS, Windows 95, NT, shared  code,  general
     Zip  and  UnZip  integration  and  optimization); Mike White
     (Windows GUI, Windows DLLs); Kai  Uwe  Rommel  (OS/2);  Paul
     Kienitz  (Amiga,  Windows  95);  Chris  Herborth (BeOS, QNX,
     Atari); Jonathan Hudson  (SMS/QDOS);  Sergio  Monesi  (Acorn
     RISC  OS);  Harald  Denker (Atari, MVS); John Bush (Solaris,
     Amiga); Hunter Goatley (VMS); Steve Salisbury  (Windows  95,
     NT); Steve Miller (Windows CE GUI), Johnny Lee (MS-DOS, Win-
     dows 95, NT); and Dave Smith (Tandem NSK).   The  author  of
     the  original  unzip code upon which Info-ZIP's was based is
     Samuel H. Smith; Carl Mascott did the first Unix  port;  and
     David P.  Kirschbaum organized and led Info-ZIP in its early
     days with Keith Petersen hosting the original  mailing  list
     at  WSMR-SimTel20.   The  full list of contributors to UnZip
     has grown quite large; please refer to the CONTRIBS file  in
     the UnZip source distribution for a relatively complete ver-
     sion.

VERSIONS
     v1.2   15 Mar 89   Samuel H. Smith
     v2.0    9 Sep 89   Samuel H. Smith
     v2.x   fall 1989   many Usenet contributors
     v3.0    1 May 90   Info-ZIP (DPK, consolidator)
     v3.1   15 Aug 90   Info-ZIP (DPK, consolidator)
     v4.0    1 Dec 90   Info-ZIP (GRR, maintainer)
     v4.1   12 May 91   Info-ZIP
     v4.2   20 Mar 92   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.0   21 Aug 92   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.01  15 Jan 93   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.1    7 Feb 94   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.11   2 Aug 94   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.12  28 Aug 94   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.2   30 Apr 96   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.3   22 Apr 97   Info-ZIP (Zip-Bugs subgroup, GRR)
     v5.31  31 May 97   Info-ZIP (Zip-Bugs subgroup, GRR)

     v5.32   3 Nov 97   Info-ZIP (Zip-Bugs subgroup, GRR)

Back Home