101 lines
3.8 KiB
Plaintext
101 lines
3.8 KiB
Plaintext
|
|
||
|
FUNZIP(1L) FUNZIP(1L)
|
||
|
|
||
|
NAME
|
||
|
funzip - filter for extracting from a ZIP archive in a
|
||
|
pipe
|
||
|
|
||
|
SYNOPSIS
|
||
|
[...] | funzip [-password] | [...]
|
||
|
|
||
|
funzip [-password] input.zip | [...] funzip [-password]
|
||
|
input.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.
|
||
|
|
||
|
DESCRIPTION
|
||
|
funzip 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. If there is an argument, then the input comes
|
||
|
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 constitutes a secu-
|
||
|
rity risk on many systems; currently 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 back-
|
||
|
ups 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
|
||
|
|
||
|
Info-ZIP 31 May 1997 (v3.92) 1
|
||
|
|
||
|
FUNZIP(1L) FUNZIP(1L)
|
||
|
|
||
|
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 fun-
|
||
|
zip 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 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, 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 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), zipcloak(1L),
|
||
|
zipinfo(1L), zipnote(1L), zipsplit(1L)
|
||
|
|
||
|
URL
|
||
|
The Info-ZIP home page is currently at
|
||
|
http://www.cdrom.com/pub/infozip/ .
|
||
|
|
||
|
AUTHOR
|
||
|
Mark Adler (Info-ZIP)
|
||
|
|
||
|
Info-ZIP 31 May 1997 (v3.92) 2
|
||
|
|