The zip command is used to compress files for ease and portability, on Linux/Unix operating systems. There are various other ways to compress your files, but the zip command is among the most popular.

In this tutorial we’ll explore the various ways you can zip files by using the zip command, and the unzip command to extract your compressed files. We’ll also see how to unzip archives zipped through different methods .zip, .gz, .tar, .bz, .7z, .xz , and .rar.

How to Zip Files in Linux

The following are examples of typical uses of the zip command.

If you’re on a fresh install of your operating system, if you don’t have it installed, you can install both the zip and unzip tools by running:

Ubuntu/Debian

CentOS/Fedora

1 – Zip Files in Directory

This command creates a .zip archive of all the files in a directory. It does not create an archive recursively, however.

Example Output

2 – Zip Files by Extension using Wildcard

Using wildcards, we can zip files that files that have a specific extension. We’ll archive only our .txt files:

Example Output

3 – Zip Files Recursively

Using the zip command with the -r flag, we can create an archive recursively, thereby compressing subdirectories as well.

4 – Password Protect Zip Files

If you need to protect your archives, you can password protect them using the -P flag:

5 – Adjust Zip Compression Levels

The zip command allows you to adjust the compression level from 0 to 9.

-6 is the default compression level

-0 is the lowest compression level

-9 is the highest compression level

How to Unzip Files in Linux

1 – List Contents of a Zip File

We can use the -l flag to list the contents of a zip file, without extracting it.

Example Output

2 – Extract a Zip File

To unzip a .zip archive, we can simply use the unzip command:

3 – Test the Integrity of a Zip File

You may want to make sure your archive isn’t corrupted. For this, we can use the -t flag with the unzip command.

This option extracts each specified file in memory and compares the CRC (cyclic redundancy check, an enhanced checksum) of the expanded file with the original’s stored CRC value.

Example Output

Extract Different Compression Formats

There are different compression methods and you’ll very often encounter different formats. You can use the following methods to extract the various formats.

How to Extract .gz File

.gz files are archives compressed using the Gzip utility. It’s generally considered better than Zip, especially when having to compress a huge number of file. To extract a .gz archive use the gunzip command:

How to Extract .tar File

.tar is referred to as the tarball but it’s name is actually derived from (t)ape (ar)chive. This is another popular compression method. To extract a .tar archive, use the following command:

How to Extract .tar.gz File

The .tar.gz is a format combining TAR and GZIP, thus providing more compression. You can extract it using the following command, using the -Z switch:

How to Extract .tar.xz File

The tar.xz format does not offer archiving capabilities. It only preserves the original data into one file. To extract .tar.gz we use the -J switch:

How to Extract tar.bz2 File

tar.bz2 is a combination of the TAR and bzip2 formats. To extract it, we use the -j switch:

How to Extract .7z File

7z represents the 7zip format. It’s typically not used on Linux, and to use it you’ll have to install 7-zip File Archive on your machine. With it installed, to extract a 7z archive, run the following command:

How to Extract .rar File

.rar files are one of the most popular archive formats for Windows, created using WinRAR. It’s not very often used on Linux, however if you need to extract it, you can use the unrar utility or 7-zip File Archiver, both of which you’ll have to install on your OS.

To extract .rar archives on Linux, use the following comman

OR

Conclusion

Well done. You’ve learned how to create ZIP archives through various methods, and to extract different archive formats. If you’ve found any issues with this tutorial, then please feel free to leave a comment or contact us, and we’ll get back to you as soon as possible.