tar is a widely used command-line based utility for combining a bunch of files and/or directories into one archive file, commonly known as a tarball for backup or distributions purposes. The tar command is used to create, maintain, modify, or extract tar archives.
Note that tar does not compress archive files by default, but, it can compress the resulting archive using (or filter it through) well-known data compression programs such as gzip, bzip2, or xz if you supply the -z
, -j
, or -J
flags.
Installing tar in CentOS, RHEL, and Fedora
The tar package comes pre-installed in most if not all Linux distributions by default. But if it is not installed on your system, run the following command to install it.
# yum install tar
Once you have tar installed on your system, you can use it as follows. This example shows how to create an uncompressed archive file of a directory called test_app
within the working directory.
# tar -cvf test_app.tar test_app/
In the above command, the tar flags used are -c
which creates a new .tar
archive file, -v
enables verbose mode to show the .tar
file creation progress, and -f
which specifies the file name type of the archive file (test_app.tar
in this case).
To compress the resulting archive file using gzip or bzip2, supply the -z
or -j
flag as follows. Note that a compressed tarball can also end with the .tgz
extension.
# tar -cvzf test_app.tar.gz test_app/ OR # tar -cvzf test_app.tgz test_app/ OR # tar -cvjf test_app.tar.bz2 test_app/
To list the contents of a tarball (archived file), use the -t
flag as follows.
# tar -ztf test_app.tar.gz OR # tar -ztvf test_app.tar.gz #shows more details
To extract (or untar) an archive file, use the -x
switch as shown.
# tar -xvf test_app.tar OR # tar -xvf test_app.tar.gz