In this article, we will show you how to use the Tar utility to extract and create tar archives with practical examples and detailed explanations of the most common Tar options.
What is Tar?
tarused to create tar archives by converting a group of files to an archive. It also has the ability to extract tar archives, display a list of files included in the archive, add additional files to an existing archive, and various other kinds of operations.
Tar supports a wide variety of compression programs such as
compress… When creating compressed tar archives, it is generally considered to add a compressor suffix to the archive file name. For example, if the archive was compressed using gzip, it should be named archive.tar.gz.
Tar was originally designed to create archives while storing files on magnetic tape, hence the name “ T ape AR chive “.
There are two versions of tar, BSD tar and GNU tar, with some functional differences. Most Linux systems come with GNU tar preinstalled by default. If you do not have tar installed, we recommend that you first install it following our article on how to install tar.gz on CentOS.
Command line syntax
Before moving on to using the tar command, let’s start by looking at the basic syntax.
tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]
OPERATION– Only one argument is permitted and required. The most commonly used operations:
-c) – Create a new tar archive.
-x) – Extract the entire archive or one or several files from the archive.
-t) – display a list of files included in the archive
OPTIONS– The most commonly used operations:
-v) – Show files processed by tar command.
-f archive-name) – Specifies the name of the archive file.
ARCHIVE_NAME– The name of the archive.
FILE_NAME(s)– a space-separated list of filenames to extract. If not provided, the entire archive will be extracted.
When executing the tar command, you can use the long or short form of tar operations and options. Long forms are more readable, while short forms are faster. Long form options are prefixed with a double dash (
--). Short form parameters are prefixed with one dash (
-), which can be omitted.
Creation of Tar Archive
-c to create a tar archive. For example, to create an archive file named
archive.tarfrom files named
file3 run the following command:
tar -cf archive.tar file1 file2 file3
Here is the equivalent command using long form parameters:
tar --create --file=archive.tar file1 file2 file3
The following example will create an archive
backup.tar from catalog
tar -cf backup.tar /home/username
You can create archives from the contents of one or more directories or files. By default, directories are archived recursively if the parameter is not specified
--no-recursion… Use the parameter
-vif you want to view the files that are being processed.
Create Tar Gz Archive
Gzip is the most popular compression algorithm for tar files. When compressing tar archives with gzip, the archive name must end with either
To create a tar.gz archive from the given files, you can use the following command:
tar -czf archive.tar.gz file1 file2
-ztells tar to compress the archive using an algorithm
Create Archive Tar Bz2
Another popular compression algorithm for tar files is bzip2. When compressing tar archives with bzip2, the archive name must end with either
When option is specified
-j , tar will use the algorithm
bzip2 archive compression.
The following command will create an archive
tar.bz2 from given files:
tar -cjf archive.tar.bz2 file1 file2
Tar archive listing
To list the contents of a tar archive, use the operation
tar -tf archive.tar
file1 file2 file3
If you specify the contents of the archive using the parameter
-v), tar will print more information like owner, file size, timestamp, etc .:
tar -tvf archive.tar
-rw-r--r-- linuxize/users 0 2018-09-08 20:15 file1 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file2 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file3
Extracting Tar Archive
To extract a tar archive use the operator
-x) and specify the name of the archive file:
tar -xf archive.tar
Also the option is usually added
-v to print the names of the extracted files.
tar -xvf archive.tar
By default tar will extract the contents of the archive in the current working directory. Use
-C) to extract archive files in a specific directory:
For example, to extract the contents of an archive into a directory
/opt/files, you can use:
tar -xf archive.tar -C /opt/files
Extracting Tar Gz and Tar Bz2 Archives
When extracting compressed archives, for example,
tar.bz2 you don’t need to specify the decompression parameter. The command is the same as when extracting an archive
tar -xf archive.tar.gz
tar -xf archive.tar.bz2
Extracting specific files from a tar archive
To extract specific files from a tar archive, add a space-separated list of filenames to be extracted after the archive name:
tar -xf archive.tar file1 file2
When extracting files, you must provide your exact names including the path as printed
Extracting one or more directories from an archive is similar to extracting files:
tar -xf archive.tar dir1 dir2
If you try to extract a file that does not exist, an error message similar to the one below appears:
tar -xf archive.tar README
tar: README: Not found in archive tar: Exiting with failure status due to previous errors
Extract files from tar archive using wildcard
To extract files from an archive based on a wildcard pattern, use the switch
--wildcards and provide a pattern to prevent shell interpretation.
For example, to extract files whose names end in
tar -xf archive.tar --wildcards '*.js'
Adding files to an existing archive
To add files or directories to an existing tar archive, use the operation
For example, to add a file named
newfile in archive.tar, you can use:
tar -rvf archive.tar newfile
Removing files from a tar archive
--delete to remove files from the archive.
For example, to delete a file named
file1 from archive.tar, you can use:
tar --delete -f archive.tar file1
By now, you should have a good understanding of how to create and extract tar archives.
Please disable your ad blocker or whitelist this site!