Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FUNZIP(1L)							    FUNZIP(1L)

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

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

	      Optional	password  to be	used if	ZIP archive is encrypted.  De-
	      cryption may not be supported at some  sites.   See  DESCRIPTION
	      for more details.

	      Optional	input  archive file specification. See DESCRIPTION for

       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,  in-
       stead.  If there	is a file argument, then input is read from the	speci-
       fied 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 constitutes a security risk on many systems; cur-
       rently  running	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.

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

       funzip | more

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

       funzip > /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).

       When  piping  an	encrypted file into more and allowing funzip to	prompt
       for password, the terminal may sometimes	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 ex-
       iting.  To recover, run	funzip	on  the	 same  file  but  redirect  to
       /dev/null  rather  than piping into more; after prompting again for the
       password, funzip	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 archive.	 In the	case where the first member is
       a directory, funzip simply creates the directory	and exits.

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

       gzip(1L), unzip(1L), unzipsfx(1L), zip(1L), zipcloak(1L),  zipinfo(1L),
       zipnote(1L), zipsplit(1L)

       The Info-ZIP home page is currently at
       or .

       Mark Adler (Info-ZIP)

Info-ZIP		     20	April 2009 (v3.95)		    FUNZIP(1L)


Want to link to this manual page? Use this URL:

home | help