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,, .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)