zip a folder in Ubuntu Linux using the cli

First install the zip command using apt command or apt-get command. Open the terminal and type the following command:

$ sudo apt install zip unzip


How do I use zip command to compress a folder?

The syntax is

$ zip -r filename.zip folder
$ zip -r filename.zip folder1 folder2
$ zip -r filename.zip /path/to/folder1 /path/to/file2


To create compressed archive named data.zip of data folder in the current directory, run:

$ zip -r data.zip data/


Verify file with the ls command:

$ ls -l data.zip


You can encrypt data.zip with a password by passing the -e option:

$ zip -r -e data.zip data/


Sample outputs:

Enter password: 
Verify password: 
  adding: data/ (stored 0%)
  adding: data/music/ (stored 0%)
  adding: data/nightmare.jpg (deflated 2%)
  adding: data/resolv.conf (deflated 16%)
  adding: data/network.jpg (deflated 0%)
  adding: data/acct/ (stored 0%)
  adding: data/acct/MSR-201711.PDF (deflated 4%)
  adding: data/acct/0XL72233P04252837.pdf (deflated 32%)

Printing a specific zip archive content

Try passing the -sf as follows:

zip -sf </path/to/compressed.zip>

zip -sf /tmp/foo.zip


Unziping files in Linux

To extract all files/directories/folder from given archives into the current directory:

 $   unzip file.zip
 $   unzip foo.zip bar.zip


You can extract files/directories/folders from archives to a specific directory path. For example, extract files into the /tmp/ directory:

 $   unzip file.zip -d /tmp


Want to list the contents of a specific archive without extracting them? Try:

 $   unzip -l archive.zip

Useful Tags :