FUNZIP(1L)                                           FUNZIP(1L)





NAME
       funzip  -  filter for extracting from a ZIP archive in a
       pipe

SYNOPSIS
       funzip [-password] [input[.zip|.gz]]

ARGUMENTS
       [-password]
              Optional password to be used if  ZIP  archive  is
              encrypted.   Decryption  may  not be supported at
              some sites.  See DESCRIPTION for more details.

       [input[.zip|.gz]]
              Optional input archive  file  specification.  See
              DESCRIPTION for details.

DESCRIPTION
       funzip  without  a  file argument acts as a filter; that
       is, it assumes that a ZIP archive (or a gzip'd(1)  file)
       is  being piped into standard input, and it extracts the
       first member from the archive  to  stdout.   When  stdin
       comes from a tty device, funzip assumes that this cannot
       be a stream of (binary)  compressed  data  and  shows  a
       short  help text, instead.  If there is a file argument,
       then input is read from the specified  file  instead  of
       from stdin.

       A  password  for encrypted zip files can be specified on
       the command line (preceding the file name,  if  any)  by
       prefixing the password with a dash.  Note that this con-
       stitutes a security risk on many systems; currently run-
       ning  processes  are  often  visible via simple commands
       (e.g., ps(1) under Unix), and command-line histories can
       be  read.   If  the  first  entry  of  the  zip  file is
       encrypted and no password is specified  on  the  command
       line,  then  the user is prompted for a password and the
       password is not echoed on the console.

       Given the limitation on single-member extraction, funzip
       is  most useful in conjunction with a secondary archiver
       program such as tar(1).  The following section  includes
       an  example  illustrating this usage in the case of disk
       backups to tape.

EXAMPLES
       To use funzip to extract the first member  file  of  the
       archive test.zip and to pipe it into more(1):

           funzip test.zip | more

       To  use funzip to test the first member file of test.zip
       (any errors will be reported on standard error):

           funzip test.zip > /dev/null

       To use zip  and  funzip  in  place  of  compress(1)  and
       zcat(1) (or gzip(1L) and gzcat(1L)) for tape backups:

           tar cf - . | zip -7 | dd of=/dev/nrst0 obs=8k
           dd if=/dev/nrst0 ibs=8k | funzip | tar xf -

       (where, for example, nrst0 is a SCSI tape drive).

BUGS
       When  piping  an  encrypted  file into more and allowing
       funzip to prompt for password, the  terminal  may  some-
       times  be  reset to a non-echo mode.  This is apparently
       due to a race condition between the two programs; funzip
       changes  the terminal mode to non-echo before more reads
       its state, and more then ``restores''  the  terminal  to
       this mode before exiting.  To recover, run funzip on the
       same file but redirect to /dev/null rather  than  piping
       into  more; after prompting again for the password, fun-
       zip will reset the terminal properly.

       There is presently no way to extract any member but  the
       first  from  a ZIP archive.  This would be useful in the
       case where a ZIP archive is included within another  ar-
       chive.   In  the case where the first member is a direc-
       tory, funzip simply creates the directory and exits.

       The functionality of funzip should be incorporated  into
       unzip itself (future release).

SEE ALSO
       gzip(1L),   unzip(1L),   unzipsfx(1L),   zip(1L),   zip-
       cloak(1L), zipinfo(1L), zipnote(1L), zipsplit(1L)

URL
       The Info-ZIP home page is currently at
           http://www.info-zip.org/pub/infozip/
       or
           ftp://ftp.info-zip.org/pub/infozip/ .

AUTHOR
       Mark Adler (Info-ZIP)



Info-ZIP              22 May 2004 (v3.94)            FUNZIP(1L)
