Skip to content

File Compression with 'tar' command

This creates a simple archive of a folder :

Terminal window
tar -cf ./my-archive.tar ./my-folder/

Verbose output shows which files and directories are added to the archive, use the -v option:

Terminal window
tar -cvf ./my-archive.tar ./my-folder/

For archiving a folder compressed ‘gzip’, you have to use the -z option :

Terminal window
tar -czf ./my-archive.tar.gz ./my-folder/

You can instead compress the archive with ‘bzip2’, by using the -j option:

Terminal window
tar -cjf ./my-archive.tar.bz2 ./my-folder/

Or compress with ‘xz’, by using the -J option:

Terminal window
tar -cJf ./my-archive.tar.xz ./my-folder/

There is an example for extract a folder from an archive in the current location :

Terminal window
tar -xf archive-name.tar

If you want to extract a folder from an archive to a specfic destination :

Terminal window
tar -xf archive-name.tar -C ./directory/destination

There is an example of listing content :

Terminal window
tar -tvf archive.tar

The option -t is used for the listing. For listing the content of a tar.gz archive, you have to use the -z option anymore :

Terminal window
tar -tzvf archive.tar.gz

Compress and exclude one or multiple folder

Section titled “Compress and exclude one or multiple folder”

If you want to extract a folder, but you want to exclude one or several folders during the extraction, you can use the --exclude option.

Terminal window
tar -cf archive.tar ./my-folder/ --exclude="my-folder/sub1" --exclude="my-folder/sub3"

With this folder tree :

Terminal window
my-folder/
sub1/
sub2/
sub3/

The result will be :

Terminal window
./archive.tar
my-folder/
sub2/

To strip any number of leading components, use the —strip-components option:

--strip-components=NUMBER
strip NUMBER leading components from file names on extraction

For example to strip the leading folder, use:

Terminal window
tar -xf --strip-components=1 archive-name.tar

List the contents of an archive file without extracting it:

Terminal window
tar -tf archive.tar.gz
Folder-In-Archive/
Folder-In-Archive/file1
Folder-In-Archive/Another-Folder/
Folder-In-Archive/Another-Folder/file2

|Common Options|- |---|---|---|---|---|---|---|---|---|--- |-c —create|Create a new archive. |-x —extract|Extract files from an archive. |-t —list|List the contents of an archive. |-f —file=ARCHIVE|Use archive file or dir ARCHIVE. |-v —verbose|Verbosely list files processed. |Compression Options|- |-a —auto-compress|Use archive suffix to determine the compression program. |-j —bzip2|Filter the archive through bzip2. |-J —xz —lzma|Filter the archive through xz. |-z —gzip|Filter the archive through gzip.