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.txtUse
tarto archive the directory:tar -cvf testdir.tar testdir/Check for the newly archived file:
lstesdir testdir.tar
Compression with gzip
Compress the file using
gzip:gzip testdir.tarChecking for the file will show:
lstestdir testdir.tar.gzThe 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=KBtotal 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 atarfile.-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.