e9b1c1bac6
git-svn-id: svn://kolibrios.org@6725 a494cfbc-eb01-0410-851d-a64ba20cac60
128 lines
4.8 KiB
Groff
128 lines
4.8 KiB
Groff
.\" 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 1L "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(1L) and \fIgzcat\fP(1L)) 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(1L), \fIunzip\fP(1L), \fIunzipsfx\fP(1L), \fIzip\fP(1L),
|
|
\fIzipcloak\fP(1L), \fIzipinfo\fP(1L), \fIzipnote\fP(1L), \fIzipsplit\fP(1L)
|
|
.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)
|