Home Linux Commandline Tips How to Tar Specific File Types (Extensions) in a Directory

How to Tar Specific File Types (Extensions) in a Directory

Tar is a popular archiving utility present in almost all Linux operating system distributions hence removing the need to search and install it from your OS package manager.

The term TAR is an abbreviation for Tape Archive files. If you have been around the Linux OS ecosystem for a while then you should also be familiar with tar’s alternate reference tarball.

When you come across a document with a TAR file format, it simply implies that this single file is a storage location for multiple files or in special circumstances a single file.

Problem Statement

Consider the following random set of different file types existing within a Linux directory.

List Files in Directory
List Files in the Directory

As per the screen capture above, we have a combined set of text files with an .txt extension and image files with an .jpeg extension. Our dilemma is how to use the tar command to only archive the text files or the image files.

Tar Command Usage Examples

If we were to archive the above directory (LinuxShellTips_Files) and all its files (regardless of the file types), the tar command to use would look like the following:

$ tar -czvf final_file.tar.gz /home/dnyce/LinuxShellTips_Files/

In the above command, final_file (with the .tar.gz file extension) is the name of the tar file that will hold the contents of the LinuxShellTips_Files directory.

The tar command options:

  • -c – initiates the creation of the final_file.tar.gz archive.
  • -z – uses gzip to filter the archive.
  • -v – verbose output.
  • -f – makes the .tar.gz file usable.

Tar Files By File Extension

To only tar the text files, we will modify the above command in the following manner:

$ tar -czvf final_file.tar.gz /home/dnyce/LinuxShellTips_Files/*.txt
Tar Files By Extension
Tar Files By Extension

To only tar the jpeg image files, we will modify the tar command as follows:

$ tar -czvf final_images_file.tar.gz /home/dnyce/LinuxShellTips_Files/*.jpeg

Extract Tar Archive Files

To confirm tar actually worked, let us extract our archived files. The -C an option is for navigating to the directory of extraction, -x for extraction.

$ tar -xzvft final_file.tar.gz -C /home/dnyce/LinuxShellTips_Files/texts
$ tar -xzvf final_images_file.tar.gz -C /home/dnyce/LinuxShellTips_Files/images
Extract Tar Files in Linux
Extract Tar Files in Linux

Extracting the tar file lists its content. In this case, one has the text files, and the other one the image files.

We can now comfortably tar specific file types in a directory in Linux.

Ravi Saive
I am an Experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies. Founder of TecMint.com, LinuxShellTips.com, and Fossmint.com. Over 150+ million people visited my websites.

Each tutorial at UbuntuMint is created by a team of experienced writers so that it meets our high-quality standards.

Was this article helpful? Please add a comment to show your appreciation and support.

Got something to say? Join the discussion.

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published or shared. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.