How to Extract Tar Files to Specific Directory in Linux

The tar command is one of the utilities that you can use to create a backup on a Linux system. It includes many options that one can use to specify the task to achieve.

One thing to understand is that you can extract tar files to a different or specific directory, not necessarily the current working directory.

You can read more about tar backup utility with many different examples in the following articles, before proceeding further with this article.

In this guide, we shall take a look at how to extract tar files to a specific or different directory, where you want the files to reside.

The general syntax of tar utility for extracting files:

tar -xf file_name.tar -C /target/directory
tar -xf file_name.tar.gz --directory /target/directory

Note: In the above syntax, the -C option is used to specify a different directory other than the current working directory.

Let us now look at some examples below.

How to Extract Tar Files to a Specific Directory

In the first example, I will extract the files in articles.tar to a directory /tmp/my_article. Always make sure that the directory into which you want to extract the tar file exists.

Let me start by creating the /tmp/my_article directory using the mkdir command below:

mkdir /tmp/my_article

You can include the -p option to the above command so that the command does not complain.

To extract the files in articles.tar to /tmp/my_article, I will run the command below:

tar -xvf articles.tar -C /tmp/my_article/
Extract Tar Files to Different Directory
Img 01: Extract Tar Files to Different Directory

In the above example, I used the -v option to monitor the progress of the tar extraction.

Let me also use the --directory option instead of -c for the example above. It works just in the same way.

tar -xvf articles.tar --directory /tmp/my_articles/
Extract Tar Files to Specific Directory
Img 02: Extract Tar Files to Specific Directory

How to Extract .tar.gz or .tgz Files to Different Directory

First make sure that you create the specific directory that you want to extract into by using:

mkdir -p /tmp/tgz

Now we will extract the contents of documents.tgz file to separate /tmp/tgz/ directory.

tar -zvxf documents.tgz -C /tmp/tgz/ 
Extract tar.gz or .tgz Files to Different Directory
Img 03: Extract tar.gz or .tgz Files to Different Directory

How to Extract tar.bz2, .tar.bz, .tbz or .tbz2 Files to Different Directory

Again repeating that you must create a separate directory before unpacking files:

mkdir -p /tmp/tar.bz2

Now we will be unpacking the documents.tbz2 files to /tmp/tar.bz2/ directory.

tar -jvxf documents.tbz2 -C /tmp/tar.bz2/ 
Extract tar.bz2 Files to Different Directory
Img 04: Extract tar.bz2 Files to Different Directory

How to Extract Only Specific or Selected Files from Tar Archive

The tar utility also allows you to define the files that you want to only extract from a .tar file. In the next example, I will extract specific files out of a tar file to a specific directory as follows:

mkdir /backup/tar_extracts
tar -xvf etc.tar etc/issue etc/fuse.conf etc/mysql/ -C /backup/tar_extracts/
Extract Specific Files From Tar Archive
Img 05: Extract Specific Files From Tar Archive
Summary

That is it with extracting tar files to a specific directory and also extracting specific files from a tar file. If you find this guide helpful or have more information or additional ideas, you can give me feedback by posting a comment.

Similar Posts