Categories: TutorialsUbuntu

How to Extract/Unzip tar.gz Files from Linux/Ubuntu Commands?

Software packages are available to download in the form of compressed archives from the software developer’s website. These archives are extracted before the installation process. There are many compressed archives like .deb, .rpm, tar.gz, etc. among which, tar.gz is widely used for software distribution. The compression and extraction of tar.gz archives is supported by the command line tool tar in Linux/Ubuntu.

This article will discuss different scenarios of extracting the tar.gz archive on Linux/Ubuntu 22.04 LTS systems.

How to Extract/Unzip tar.gz Files from Linux/Ubuntu Commands?

The “tar.gz” is a compressed archive file format for Linux systems that uses the “gzip” compression algorithm. “.tar.gz” archives can be created by How to Create a Tar File in Linux/Ubuntu? Consider that we have an archive “archive.tar.gz” in the “SampleDirector1” directory. In the following sections, three scenarios of the extraction files from archive.tar.gz will be discussed:

  • Scenario 1: Extract/Unzip “.tar.gz” Files in Current Working Directory.
  • Scenario 2: Extract/Unzip “.tar.gz” Files to a Specific Directory.
  • Scenario 3: Extract/Unzip Specific Files from a “.tar.gz” Archive.

Scenario 1: Extract/Unzip “.tar.gz” Files in the Current Working Directory

The archive “Archive.tar.gz” can be extracted in the same directory by the following command:

$ tar xzf archive.tar.gz

The above command comprises of:

  • tar: tar command line tool
  • x: extract files from an archive.
  • z: constructs the compressed/extracted archive using “gzip”.
  • f: Read the archive -archive.tar.gz (name of the archive file)

We can verify the extraction of the “archive.tar.gz” archive by:

The above image shows that archive.tar.gz is successfully extracted to the “SampleDirectory1” directory.

Scenario 2: Extract/Unzip “.tar.gz” Files to a Specific Directory

If we would like to extract the “archive.tar.gz” archive in a specific directory, i.e., in the “Others” directory inside the “Downloads” directory, we can run the following command:

$ tar xzf archive.tar.gz -C /home/linuxuser/Downloads/Others/

The above command comprises of:

  • -C: Extract the “tar.gz” files in a specific directory.
  • /home/linuxuser/Downloads/Others/: path where the files will be extracted.

We can verify the extraction of the “archive.tar.gz” archive by navigating to the specified path:

$ cd /home/linuxuser/Downloads/Others/

$ ls -l

The above image shows that archive.tar.gz is successfully extracted to the “Others” directory (home/linuxuser/Downloads/Others) from the “SampleDirector1” directory.

Scenario 3: Extract/Unzip Specific Files from a “.tar.gz” Archive

There can be situations where all the files compressed in the archive are not required and only a file or few files are required. “Tar” allows the extraction of a file or a few files. The following command will extract only File3.txt and File5.txt from archive.tar.gz:

$ tar xzvf archive.tar.gz File3.txt File5.txt

In the above command, the v flag indicates verbose output.

We can verify the extraction of specific files of the “archive.tar.gz” archive by:

$ ls -l

The above image shows that only File3.txt and File5.txt are successfully extracted to the “SampleDirectory1” directory.

Conclusion

Tar.gz archives are extracted using the tar command line tool in either the current working directory or in a specific directory by using the “tar xzf ” and “tar xzf -C ” commands respectively. Additionally, specific files can be extracted from the archive by running “tar xzvf ”. This article discussed different scenarios of extracting the tar.gz archive on Linux/Ubuntu 22.04 LTS systems.

Ubuntu Server Admin

Recent Posts

🚀 Deploy Elastic Stack on Ubuntu VPS (5 Minute Quick-Start Guide)

Here’s the guide to deploy Elastic Stack on Ubuntu VPS, with secure access, HTTPS proxying,…

3 days ago

🚀 Deploy Nagios on Ubuntu VPS

This guide walks through deploying Nagios Core on an Ubuntu VPS, from system prep to…

3 days ago

Shoryuken Has a New Maintainer, and v7.0.0 Is Almost There

After a decade under Pablo Cantero's stewardship, Shoryuken has a new maintainer - me. I'm…

7 days ago

A better way to provision NVIDIA BlueField DPUs at scale with MAAS

MAAS 3.7 has been officially released and it includes a bunch of cool new features.…

2 weeks ago

Ruby Floats: When 2.6x Faster Is Actually Slower (and Then Faster Again)

Update: This article originally concluded that Eisel-Lemire wasn't worth it for Ruby. I was wrong.…

2 weeks ago

MicroCeph: why it’s the superior MinIO alternative (and how to use it)

Recently, the team at MinIO moved the open source project into maintenance mode and will…

2 weeks ago