123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- .\" Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
- .\"
- .\" See the accompanying file LICENSE, version 2009-Jan-02 or later
- .\" (the contents of which are also included in unzip.h) for terms of use.
- .\" If, for some reason, all these files are missing, the Info-ZIP license
- .\" also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
- .\"
- .\" funzip.1 by Greg Roelofs and others.
- .\"
- .\" =========================================================================
- .\" define .EX/.EE (for multiline user-command examples; normal Courier font)
- .de EX
- .in +4n
- .nf
- .ft CW
- ..
- .de EE
- .ft R
- .fi
- .in -4n
- ..
- .\" =========================================================================
- .TH FUNZIP 1 "20 April 2009 (v3.95)" "Info-ZIP"
- .SH NAME
- funzip \- filter for extracting from a ZIP archive in a pipe
- .PD
- .SH SYNOPSIS
- \fBfunzip\fP [\fB\-password\fP] [\fIinput[.zip|.gz]\fP]
- .\" =========================================================================
- .SH ARGUMENTS
- .IP [\fI\-password\fP]
- Optional password to be used if ZIP archive is encrypted. Decryption
- may not be supported at some sites. See DESCRIPTION for more details.
- .IP [\fIinput[.zip|.gz]\fP]
- Optional input archive file specification. See DESCRIPTION for details.
- .PD
- .\" =========================================================================
- .SH DESCRIPTION
- .I funzip
- without a file argument acts as a filter; that is, it assumes that a
- ZIP archive (or a \fIgzip\fP'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,
- .I 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.
- .PP
- 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; currently running processes are often visible via simple commands
- (e.g., \fIps\fP(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.
- .PP
- Given the limitation on single-member extraction, \fIfunzip\fP is most
- useful in conjunction with a secondary archiver program such as \fItar\fP(1).
- The following section includes an example illustrating this usage in the
- case of disk backups to tape.
- .PD
- .\" =========================================================================
- .SH EXAMPLES
- To use \fIfunzip\fP to extract the first member file of the archive test.zip
- and to pipe it into \fImore\fP(1):
- .PP
- .EX
- funzip test.zip | more
- .EE
- .PP
- To use \fIfunzip\fP to test the first member file of test.zip (any errors
- will be reported on standard error):
- .PP
- .EX
- funzip test.zip > /dev/null
- .EE
- .PP
- To use \fIzip\fP and \fIfunzip\fP in place of \fIcompress\fP(1) and
- \fIzcat\fP(1) (or \fIgzip\fP(1) and \fIgzcat\fP(1)) for tape backups:
- .PP
- .EX
- tar cf \- . | zip \-7 | dd of=/dev/nrst0 obs=8k
- dd if=/dev/nrst0 ibs=8k | funzip | tar xf \-
- .EE
- .PP
- (where, for example, nrst0 is a SCSI tape drive).
- .PD
- .\" =========================================================================
- .SH BUGS
- When piping an encrypted file into \fImore\fP and allowing \fIfunzip\fP
- 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;
- \fIfunzip\fP changes the terminal mode to non-echo before \fImore\fP reads
- its state, and \fImore\fP then ``restores'' the terminal to this mode before
- exiting. To recover, run \fIfunzip\fP on the same file but redirect to
- /dev/null rather than piping into more; after prompting again for the
- password, \fIfunzip\fP will reset the terminal properly.
- .PP
- 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,
- \fIfunzip\fP simply creates the directory and exits.
- .PP
- The functionality of \fIfunzip\fP should be incorporated into \fIunzip\fP
- itself (future release).
- .PD
- .\" =========================================================================
- .SH "SEE ALSO"
- \fIgzip\fP(1), \fIunzip\fP(1), \fIunzipsfx\fP(1), \fIzip\fP(1),
- \fIzipcloak\fP(1), \fIzipinfo\fP(1), \fIzipnote\fP(1), \fIzipsplit\fP(1)
- .PD
- .\" =========================================================================
- .SH URL
- The Info-ZIP home page is currently at
- .EX
- \fChttp://www.info-zip.org/pub/infozip/\fR
- .EE
- or
- .EX
- \fCftp://ftp.info-zip.org/pub/infozip/\fR .
- .EE
- .PD
- .\" =========================================================================
- .SH AUTHOR
- Mark Adler (Info-ZIP)
|