--- layout: page category_title: interm category-page: interm tags: tar shell command compress archive author: Nicola Brunner title: tar previous-page: pages/cmd/interm/sync.html next-page: pages/cmd/interm/tee.html --- The tar command is used to create and manipulate streaming archive files, in other words it is used to compress and extract files and directories. He can extract from many file formats like: tar, pax, cpio, zio, jar, ar and ISO 9660 cdrom images and create tar, pax, cpio, ar, and shar archives.

Usage:

There are different syntaxes for this command:
tar {-c} [options] [files | directories]
The first one is the default syntax. Where {-c} stays for the creation of a new archive, [options] for the different flags that we can use, [files | directories] for the files or directories what we want to compress.
tar {-r | -u} -f archive-file [options] [files | directories]
tar {-t | -x} [options] [patterns]
tar [bundled-flags args] [file | pattern ...]
The last one shows a bundled option word provided for compatibility with historical implementations.

Flags:

This command has a large number of options, but you just need to remember a few letters for the most important ones: If you don't find here an option that you search, or you are interested to read more about this command, you can write in your terminal:
man tar

Examples

tar -cvf archive.zip makesmaller.jpg
In this case, we take the file makesmaller.jpg and compress it to archive.zip. We use the options -cvf, -c for creating a new archive, -v for displaying the progress of the operation and -f for specifying the name of the archive.
tar -cvf archive.zip makesmaller.jpg alsome.txt
It's the same case as before, but we wanted to add also alsome.txt to archive.zip.
tar -cvf archive.tar /home/Documents --exclude=/home/Documents/PrivatePictures --exclude=/home/Documents/notme.txt
With this command we can create an archive named archive.tar of the /home/Documents directory, but we won't include the PrivatePictures directory and the file notme.txt, both are contained in /home/Documents.
tar -cvf archive.tar /home/Music --exclude=*.mp4
In this special case we exclude from the archive.tarall the files which ends in .mp4 and are contained in the directory /home/Music.
tar -cvf archive.zip /home/Music --include=*.mp3
In this case we include only the files from the directory /home/Music that ends in .mp3 to the archive.zip.
tar -xvf archive.zip
It's the same as the archive creation command we used above in the first example, except the -x option replaces the -c option. This specifies you want to extract an archive instead of creating one.