man > funzip(1)

📝 NAME

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

🚀 Quick Reference

Use CaseCommandDescription
Extract first member of a ZIP archive to stdoutfunzip test.zipExtracts first file from test.zip to stdout
Extract and pipe to pagerfunzip test.zip | moreExtracts first file and pipes to more for viewing
Test first member of ZIPfunzip test.zip > /dev/nullExtracts first file, discarding output; errors reported on stderr
Use with tar for tape backupstar cf - . | zip -7 | dd of=/dev/nrst0 obs=8k
dd if=/dev/nrst0 ibs=8k | funzip | tar xf -
Compress tar archive with zip and write to tape; restore with funzip

📋 SYNOPSIS

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

🔧 ARGUMENTS

📖 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 constitutes a security 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 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(1) and gzcat(1)) 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 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 directory, funzip simply creates the directory and exits.

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

🔗 SEE ALSO

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

🌐 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)

funzip(1)
📝 NAME 🚀 Quick Reference 📋 SYNOPSIS 🔧 ARGUMENTS 📖 DESCRIPTION 💡 EXAMPLES 🐛 BUGS 🔗 SEE ALSO 🌐 URL 👤 AUTHOR

Generated by phpman v4.10.0-7-g98e9fd5 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-09-19 22:47 @216.73.216.102
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^