Tar commands


To create an archive using tar, use a command like this, which bundles all the files in the current directory that end with .txt into the alltxt.tar file:

tar cvf alltxt.tar *.txt

Here’s a second example, which creates a tar file named images.tar containing all the files from the images directory (and any of its subdirectories):

tar cvf images.tar images/

In these examples, the c, v, and f flags mean create a new archive, be verbose (list files being archived), and write the archive to a file.

To automatically compress the tar file as it is being created, add the z flag, like this:

tar cvzf alltxt.tar.tgz *.txt

In this example, I added the .tgz suffix to the archive file name, because the z flag tells tar to use the same compression as the gzip command.

To list the contents of a tar file, use the t (type) flag in a command, like this:

tar tvf alltxt.tar #List all files in alltxt.tar.

To extract the contents of a tar file, use the x (extract) flag in a command, like this:

tar xvf images.tar #Extract files from images.tar.

This will copy all the files from the images.tar file into the current directory. When a tar file is created, it can bundle up all the files in a directory, as well as any subdirectories and the files in them. So when you’re extracting a tar file, keep in mind that you might end up with some new subdirectories in the current directory.

We’ve used several different flags in the sample tar commands so far. Here’s a list of the most common flags:

c Create a new archive.

t List the contents of an archive.

x Extract the contents of an archive.

f The archive file name is given on the command line (required whenever the tar output is going to a file)

v Print verbose output (list file names as they are processed).

u Add files to the archive if they are newer than the copy in the tar file.

z Compress or decompress files automatically.