unzip
—
extract files from a ZIP archive
unzip |
[-aCcfjLlnopqtuvy ] [-d
dir] [-x
pattern] [-P
password] zipfile |
The following options are available:
-a
- When extracting a text file, convert DOS-style line endings to Unix-style
line endings.
-C
- Match file names case-insensitively.
-c
- Extract to stdout/screen. When extracting files from the zipfile, they are
written to stdout. This is similar to
-p
, but does
not suppress normal output.
-d
dir
- Extract files into the specified directory rather than the current
directory.
-f
- Update existing. Extract only files from the zipfile if a file with the
same name already exists on disk and is older than the former. Otherwise,
the file is silently skipped.
-j
- Ignore directories stored in the zipfile; instead, extract all files
directly into the extraction directory.
-L
- Convert the names of the extracted files and directories to
lowercase.
-l
- List, rather than extract, the contents of the zipfile.
-n
- No overwrite. When extracting a file from the zipfile, if a file with the
same name already exists on disk, the file is silently skipped.
-o
- Overwrite. When extracting a file from the zipfile, if a file with the
same name already exists on disk, the existing file is replaced with the
file from the zipfile.
-p
- Extract to stdout. When extracting files from the zipfile, they are
written to stdout. The normal output is suppressed as if
-q
was specified.
-P
password
- Extract encrypted files using a password. Putting a password on the
command line using this option can be insecure.
-q
- Quiet: print less information while extracting.
-t
- Test: do not extract anything, but verify the checksum of every file in
the archive.
-u
- Update. When extracting a file from the zipfile, if a file with the same
name already exists on disk, the existing file is replaced with the file
from the zipfile if and only if the latter is newer than the former.
Otherwise, the file is silently skipped.
-v
- List verbosely, rather than extract, the contents of the zipfile. This
differs from
-l
by using the long listing. Note
that most of the data is currently fake and does not reflect the content
of the archive.
-x
pattern
- Exclude files matching the pattern pattern.
-y
- Print four digit years in listings instead of two.
-Z
mode
- Emulate
zipinfo(1L)
mode. Enabling
zipinfo(1L)
mode changes the way in which additional arguments are parsed. Currently
only
zipinfo(1L)
mode 1 is supported, which lists the file names one per line.
Note that only one of -n
,
-o
, and -u
may be specified.
If specified filename is “-”, then data is read from
stdin.
If the UNZIP_DEBUG
environment variable is defined, the
-q
command-line option has no effect, and additional
debugging information will be printed to stderr.
The unzip
utility aims to be sufficiently compatible
with other implementations to serve as a drop-in replacement in the context of
the
ports(7)
system. No attempt has been made to replicate functionality which is not
required for that purpose.
For compatibility reasons, command-line options will be recognized
if they are listed not only before but also after the name of the
zipfile.
Normally, the -a
option should only affect
files which are marked as text files in the zipfile's central directory.
Since the
archive(3)
library does not provide access to that information, it is not available to
the unzip
utility. Instead, the
unzip
utility will assume that a file is a text file
if no non-ASCII characters are present within the first block of data
decompressed for that file. If non-ASCII characters appear in subsequent
blocks of data, a warning will be issued.
The unzip
utility is only able to process
ZIP archives handled by
libarchive(3).
Depending on the installed version of
libarchive(3),
this may or may not include self-extracting or ZIPX archives.
The unzip
utility appeared in FreeBSD
8.0.