Archive, Compress, and Extract Files in Linux Using the Command Line
Updated by Linode Written by Angel Guarisma
tar
and gzip
provide a standard interface for creating archives and compressing files on Linux. These utilities take a large number of files, save them together in an archive, and compresses the archive to save space. tar
does not compress files by itself. Used in conjunction with gzip
, an archived file can be compressed to reduce disk space. The resulting archived file has the file extension, tar.gz
and is sometimes called a “tarball”.
Archive a Directory
Make a directory on your system and create a text file:
mkdir testdir && touch testdir/example.txt
Use
tar
to archive the directory:tar -cvf testdir.tar testdir/
Check for the newly archived file:
ls
tesdir testdir.tar
Compression with gzip
Compress the file using
gzip
:gzip testdir.tar
Checking for the file will show:
ls
testdir testdir.tar.gz
The chained file extension (
.tar.gz
) indicates that this is a compressed archive. You can see the difference in size between the two files:ls -l --block-size=KB
total 9kB drwxrwxr-x 2 linode linode 5kB Jan 30 13:13 testdir -rw-rw-r-- 1 linode linode 1kB Jan 30 13:29 testdir.tar.gz
Extract a Tarball
Extract the directory:
tar -xzvf testdir.tar.gz
testdir/
testdir/test.txt
The flags used in these example stand for:
-c
: Create a new archive in the form of atar
file.-v
: Verbose flag, outputs a log after running the command.-z
: Zips or unzips usinggzip
.-x
: Extract a file from the archive.-f
: Define STDOUT as the filename, or uses the next parameter.
Common Options for Archiving
Additional flags used with the tar
command are:
Flag | Function |
---|---|
-A | Append tar files to an existing archive. |
-d | Show differences between an archive and a local filesystem. |
-delete | Delete from the archive. |
-r | Append files to the end of an archive. |
-t | List the contents of an archive. |
-u | Append but don’t overwrite the current archive. |
These are the basics for working within the command line. Be sure to check the man pages man tar
for a more detailed listing of possible flags when compressing and extracting files.
Join our Community
Find answers, ask questions, and help others.
This guide is published under a CC BY-ND 4.0 license.