Archive, Compress, and Extract Files in Linux Using the Command Line
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