---
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.
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.
-c
creates a new archive, that contains the specified items.-r
is like -c
but appends the new entries to the
archive, requires the -f
option.
-u
is like -r
but adds the new entries only if
the date is newer than the corresponding entry date of the file/directory to
the archive, requires the -f
option.
-t
lists the archive contents to the terminal output.-v
is used to display the progress of an archive creation in
the terminal.
-f
allows to specify the name of an archive.-x
is used to extract files from an archive to the disk.--exclude
does not compress specified files or directories.--include
compresses specified file or directories. It's
important to know that --exclude
take precedence over inclusions.
The --include
option is useful when you want to filter archives.
man tar
tar -cvf archive.zip makesmaller.jpgIn 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.txtIt'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.txtWith 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=*.mp4In this special case we exclude from the
archive.tar
all the
files which ends in .mp4 and are contained in the directory /home/Music
.
tar -cvf archive.zip /home/Music --include=*.mp3In this case we include only the files from the directory
/home/Music
that ends in .mp3 to the archive.zip
.
tar -xvf archive.zipIt'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.