You need to use the unzip command on a Linux or Unix like system to exract (unzip) files. This command may not be installed by default on a Linux operating systems.
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | Yes |
Requirements | None |
Time | 2m |
Install unzip command
First, open the terminal application. Next, use any one of the following command as per your Linux or Unix variant to install the unzip tool:
Debian/Ubuntu Linux user install unzip
The syntax is as follows using apt-get command:
sudo apt-get install unzip
CentOS/RHEL/Fedora Linux user install unzip
The syntax is as follows using yum command:
sudo yum install unzip
How do I use unzip command on a Linux or Unix like systems?
The syntax is:
unzip zipfilename unzip zipfilename fileToExtract unzip [optionz] zipfilename
Extract a zip file named foo.zip
To use unzip to extract all members of the archive database.zip into the current directory and subdirectories below it, creating any subdirectories as necessary, type:
unzip database
OR
unzip database.zip
Another example:
unzip foo OR <pre lang="bash"> unzip foo.zip
Sample outputs:
:Archive: foo.zip creating: etc/ inflating: etc/afpovertcp.cfg inflating: etc/aliases creating: etc/apache2/ creating: etc/apache2/extra/ inflating: etc/apache2/extra/httpd-autoindex.conf inflating: etc/apache2/extra/httpd-dav.conf inflating: etc/apache2/extra/httpd-default.conf inflating: etc/apache2/extra/httpd-info.conf inflating: etc/apache2/extra/httpd-languages.conf inflating: etc/apache2/extra/httpd-manual.conf inflating: etc/apache2/extra/httpd-mpm.conf ..... ... .. inflating: etc/sshd_config inflating: etc/sshd_config~previous inflating: etc/syslog.conf inflating: etc/ttys extracting: etc/xtab inflating: etc/zshenv
To extract all python (*.py) files, enter:
unzip file.zip "*.py"
To extract all C source files “*.c”, and “*.h” and a Makefile into the ~/projects/editor directory:
unzip source.zip "*.[ch]" Makefile -d ~/projects/editor
Extract all files except bar.txt from zipfile demo.zip
unzip demo.zip -x bar.txt
Extract files into given directory
To extract files into /tmp/data instead of the default current directory, type:
unzip demo.zip -d /tmp/data unzip demo.zip -d /tmp/data pic1.jpg
Sample outputs:
Archive: demo.zip creating: ../ddd/etc/ inflating: ../ddd/etc/afpovertcp.cfg inflating: ../ddd/etc/aliases creating: ../ddd/etc/apache2/ creating: ../ddd/etc/apache2/extra/ inflating: ../ddd/etc/apache2/extra/httpd-autoindex.conf inflating: ../ddd/etc/apache2/extra/httpd-dav.conf inflating: ../ddd/etc/apache2/extra/httpd-default.conf .... ...
Forcefully overwrite existing files when unzip
unzip -o file.zip unzip -o file.zip data.jpg
The -o option will overwrite files WITHOUT prompting. Pass the -n option to never overwrite existing files:
unzip -n file.zip unzip -n file.zip data.jpg
List files stored in a zip file on screen
unzip -l file.zip unzip -l file.zip | more unzip -l foo.zip
Sample outputs:
Archive: foo.zip Length Date Time Name -------- ---- ---- ---- 0 04-24-15 13:08 etc/ 515 09-10-14 02:17 etc/afpovertcp.cfg 9970 09-10-14 04:06 etc/aliases 0 11-06-14 06:51 etc/apache2/ 0 09-10-14 03:39 etc/apache2/extra/ 2877 09-10-14 03:39 etc/apache2/extra/httpd-autoindex.conf 1747 09-10-14 03:39 etc/apache2/extra/httpd-dav.conf 2942 09-10-14 03:39 etc/apache2/extra/httpd-default.conf 1119 09-10-14 03:39 etc/apache2/extra/httpd-info.conf 5078 09-10-14 03:39 etc/apache2/extra/httpd-languages.conf 1049 09-10-14 03:39 etc/apache2/extra/httpd-manual.conf 4456 09-10-14 03:39 etc/apache2/extra/httpd-mpm.conf 2216 09-10-14 03:39 etc/apache2/extra/httpd-multilang-errordoc.conf 11406 09-10-14 03:39 etc/apache2/extra/httpd-ssl.conf 607 09-10-14 03:39 etc/apache2/extra/httpd-userdir.conf 1519 09-10-14 03:39 etc/apache2/extra/httpd-vhosts.conf 3161 09-10-14 03:39 etc/apache2/extra/proxy-html.conf 20786 09-10-14 03:41 etc/apache2/httpd.conf .... .. ... 382 06-25-14 16:46 etc/ssh_host_rsa_key.pub 4161 02-03-15 00:47 etc/sshd_config 4161 05-05-14 18:23 etc/sshd_config~previous 96 09-10-14 02:17 etc/syslog.conf 1316 09-10-14 02:17 etc/ttys 0 09-10-14 02:17 etc/xtab 126 09-10-14 04:48 etc/zshenv -------- ------- 2747844 281 files
Test or verify compressed archive data
unzip -t foo unzip -t data.zip
Sample outputs:
Archive: data.zip testing: etc/ OK testing: etc/afpovertcp.cfg OK testing: etc/aliases OK testing: etc/apache2/ OK testing: etc/apache2/extra/ OK testing: etc/apache2/extra/httpd-autoindex.conf OK testing: etc/apache2/extra/httpd-dav.conf OK testing: etc/apache2/extra/httpd-default.conf OK .... .. ... testing: etc/ssh_host_rsa_key.pub OK testing: etc/sshd_config OK testing: etc/sshd_config~previous OK testing: etc/syslog.conf OK testing: etc/ttys OK testing: etc/xtab OK testing: etc/zshenv OK No errors detected in compressed data of data.zip.
See unzip command options
Type the following command:
unzip unzip -h
Sample outputs:
UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send bug reports using http://www.info-zip.org/zip-bug.html; see README for details. Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage). -p extract files to pipe, no messages -l list files (short format) -f freshen existing files, create none -t test compressed archive data -u update files, create if necessary -z display archive comment -x exclude files that follow (in xlist) -d extract files into exdir modifiers: -q quiet mode (-qq => quieter) -n never overwrite existing files -a auto-convert any text files -o overwrite files WITHOUT prompting -aa treat ALL files as text -j junk paths (do not make directories) -v be verbose/print version info -C match filenames case-insensitively -L make (some) names lowercase -X restore UID/GID info -V retain VMS version numbers -K keep setuid/setgid/tacky permissions -M pipe through "more" pager Examples (see unzip.txt for more info): unzip data1 -x joe => extract all files except joe from zipfile data1.zip unzip -p foo | more => send contents of foo.zip via pipe into program more unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
🐧 1 comment so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
hi,zip command is fine..but how to create a zip file in c program with unix