Example uses of the Linux command 'tar'

Tar files are an old-school method for archiving data

A tar file is like a zip file—a single archive of a collection of files and folders—but unlike a zip, a tar isn't compressed. It originated with old-school tape archives (hence the tar term) but is still in wide use today because of its ubiquity in the Linux ecosystem.

Road marking on asphalt surface
tonymax / Getty Images 

How to Create a Tar File

Create a tar file containing all of your images while maintaining the folder structure using the following command:

tar -cv

The switches are as follows:

  • -c: create
  • -v: verbose
  • -f: files

How to List the Files in a Tar File

List the contents of a tar file by using the following command:

ta

This provides a list of the files and folders within a tar file. A tar file might extract files to folders you weren't expecting and corrupt parts of your system so knowing which files are going where is a good starting point.

At the worst, bad people create something called a tar bomb, which is designed to destroy your system.

The previous command simply gives a list of the files and folders. For a verbose view showing file sizes use the following command:

tar

The switches are as follows:

  • -t: list contents of an archive
  • -f: file
  • -v: verbose

How to Extract From a Tar File

To extract the contents of a tar file use the following command:


The switches are as follows:

  • -x: extract
  • -v: verbose
  • -f: file

How to Append Files to a Tar File

To add files into an existing tar file run the following command:

tar -rvf tarfilena

The switches are as follows:

  • -r: append
  • -v: verbose
  • -f: files

How to Append Files Only If They Are Newer

The problem with the previous command is that if you added files that already exist in the tar file they would be overwritten. To only add files if they are newer than existing files use the following command:

tar -uvf tarfilena

How to Prevent 'tar' From Overwriting Files

If you are extracting a tar file you may not want to overwrite files if they already exist. This command makes sure that existing files are left alone:

tar

Only Extract Files That Are Newer Than Existing Files

If you are extracting a tar file you might be happy for files to be overwritten but only if the file in the tar file is newer than the existing file.

The following command achieves this result:

tar --keep-newer-files

How to Remove Files After Adding Them to a Tar File

A tar file remains uncompressed, so if you add a 400-gigabyte file to a tar file you will have a 400-gigabyte file in its original location and tar file with a 400-gigabyte file in it. To remove the original file when it is added to a tar file:

tar --remove-files -cvf tarfilena

Compress a Tar File When You Create It

To compress a tar file as soon as it is created, use the following command:

tar -cvfz tarfilena

Summary

The tar command has dozens of switches and more information can be found by using the man tar command or by running tar --help.