Unzip a Zip file from Terminal Command

If you have a zip file that you downloaded from the internet or was shared with you by an Office colleague or a School friend and you are wondering how do I Unzip this Zip fine via Terminal command, well you can make use of the unzip command.

If unzip is not installed on your device then you will get the below error in the Terminal console based on which Shell you are logged into,

# bash: unzip: command not found
# sh: 1: unzip: not found
% zsh: command not found: unzip

How to install unizip package for Terminal

When you type unzip on your Terminal and you get an error as "unzip command not found" then you will need to install the unzip package in order to unzip a zip file, you can install unzip package using the apt-get or brew package manager,

Example: apt-get
# sudo apt-get install unzip
Suggested packages:
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded.
Need to get 163 kB of archives.
After this operation, 559 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 unzip arm64 6.0-25ubuntu1 [163 kB]
Fetched 163 kB in 11s (14.7 kB/s)                                                                                                      
Selecting previously unselected package unzip.
Preparing to unpack .../unzip_6.0-25ubuntu1_arm64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...

Now when you type in unzip on Terminal, you should see something like this,

# unzip

UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

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 only
  -v  list verbosely/show version info       -T  timestamp archive to latest
  -x  exclude files that follow (in xlist)   -d  extract files into exdir
  -n  never overwrite existing files         -q  quiet mode (-qq => quieter)
  -o  overwrite files WITHOUT prompting      -a  auto-convert any text files
  -j  junk paths (do not make directories)   -aa treat ALL files as text
  -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields
  -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
  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
  -I CHARSET  specify a character encoding for UNIX and other archives

See "unzip -hh" or unzip.txt for more help.  Examples:
  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

Unzip command for Terminal

Syntax: unzip zip-file-name.zip

Syntax: unzip zip-file-name.zip [-d destination-older]


Extracting the zip file in current directory,

# unzip abc.zip 

Archive:  abc.zip
   creating: abc/
b2391b608026# ls
abc.zip  my-important-file.txt abc


Extracting the zip file in a different directory,

# unzip abc.zip -d myDir
Archive:  abc.zip
   creating: 123/xyz/
b2391b608026# ls
myDir  abc  abc.zip  my-important-file.txt  xyz
Unzip a Zip file from Terminal Command
Try Out Code2care Dev Tools:


Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.