The tar utility 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.

 

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 first 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.

 

Example 1: Extracting 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 tar file exists.

 

Let me start by creating the /tmp/my_article directory using the 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/

 

Example 2: 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

 

Example 3: 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

 

Example 4: 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/

 

Was this answer helpful? 0 Users Found This Useful (0 Votes)