Skip to main content

Command Palette

Search for a command to run...

How to Tar a File in Linux

Updated
6 min read

Tarring files in Linux is a common task that helps you archive and compress your data efficiently. Whether you want to back up files, transfer them, or save space, knowing how to use the tar command is essential. In this article, I’ll guide you through the basics and some advanced tips on how to tar a file in Linux.

You might be new to Linux or just want a refresher on tar commands. Either way, this guide will make it easy for you to understand and apply tar commands confidently. Let’s dive in and explore how you can archive your files quickly and effectively.

What Is the Tar Command in Linux?

The tar command in Linux stands for "tape archive." It is a utility used to combine multiple files into a single archive file, often called a tarball. This makes it easier to store, transfer, or back up files.

  • Tar archives can be compressed or uncompressed.
  • Common compression formats used with tar are gzip (.gz) and bzip2 (.bz2).
  • Tar files usually have extensions like .tar, .tar.gz, or .tar.bz2.

The tar command is very versatile and works well for both small and large sets of files. It preserves file permissions and directory structures, which is important for backups and system administration.

Basic Syntax of the Tar Command

Understanding the basic syntax helps you use tar effectively. Here’s the general format:

tar [options] [archive-file] [file or directory to archive]
  • Options: Flags that tell tar what to do (create, extract, list, etc.).
  • Archive-file: The name of the tar file you want to create or extract.
  • File or directory: The files or folders you want to include in the archive.

For example, to create an archive named archive.tar containing a file called example.txt, you would use:

tar -cf archive.tar example.txt

Here, -c means create, and -f specifies the filename.

How to Create a Tar File

Creating a tar file is straightforward. You use the -c option to create and -f to specify the archive name.

Steps to Create a Tar Archive

  1. Open your terminal.
  2. Navigate to the directory containing the files you want to archive.
  3. Run the tar command with the appropriate options.

Example:

tar -cf myfiles.tar file1.txt file2.txt

This command creates myfiles.tar containing file1.txt and file2.txt.

Creating a Tar Archive of a Directory

To archive an entire directory, include the directory name:

tar -cf myfolder.tar myfolder/

This archives the whole myfolder directory and its contents.

How to Compress a Tar File

Tar files can be large, so compressing them saves space. You can compress tar files using gzip or bzip2 compression.

Using gzip Compression

Add the -z option to compress with gzip:

tar -czf archive.tar.gz folder/
  • -z tells tar to use gzip.
  • The output file is archive.tar.gz.

Using bzip2 Compression

Use the -j option for bzip2 compression:

tar -cjf archive.tar.bz2 folder/
  • -j tells tar to use bzip2.
  • The output file is archive.tar.bz2.

Using xz Compression (More Efficient)

For better compression, use -J for xz:

tar -cJf archive.tar.xz folder/
  • -J uses xz compression.
  • The output file is archive.tar.xz.

How to Extract a Tar File

Extracting files from a tar archive is just as easy. Use the -x option to extract.

Extracting an Uncompressed Tar File

tar -xf archive.tar
  • -x extracts files.
  • -f specifies the archive file.

Extracting a gzip Compressed Tar File

tar -xzf archive.tar.gz
  • -z decompresses gzip files.

Extracting a bzip2 Compressed Tar File

tar -xjf archive.tar.bz2
  • -j decompresses bzip2 files.

Extracting an xz Compressed Tar File

tar -xJf archive.tar.xz
  • -J decompresses xz files.

Listing Contents of a Tar Archive

Before extracting, you might want to see what’s inside the tar file. Use the -t option to list contents.

tar -tf archive.tar

This shows all files and directories inside the archive without extracting them.

Useful Tar Options You Should Know

Here are some handy options to make your tar experience smoother:

  • -v (verbose): Shows detailed output of the process.
  • --exclude='pattern': Excludes files matching the pattern.
  • -C directory: Changes to a directory before performing operations.
  • --remove-files: Deletes files after adding them to the archive.

Example: Creating a Verbose Tar Archive

tar -cvf archive.tar folder/

This command shows each file being added to the archive.

Example: Excluding Files

tar -czf archive.tar.gz folder/ --exclude='*.log'

This archives the folder but excludes all .log files.

How to Append Files to an Existing Tar Archive

You can add files to an existing tar archive using the -r option.

tar -rf archive.tar newfile.txt

Note: You cannot append files to compressed tar archives directly. You must decompress first.

Common Errors and How to Fix Them

When working with tar, you might encounter some common errors:

  • "Cannot open: No such file or directory": Check the file or directory path.
  • "Cannot open archive: Permission denied": Use sudo if you lack permissions.
  • Appending to compressed archives: Decompress first before appending.

Practical Examples of Using Tar

Here are some real-world examples to help you understand tar better:

TaskCommand Example
Archive multiple filestar -cf archive.tar file1 file2 file3
Compress and archive a foldertar -czf backup.tar.gz /home/user/documents
Extract a compressed archivetar -xzf backup.tar.gz
List contents of an archivetar -tf archive.tar
Archive excluding certain filestar -czf archive.tar.gz folder --exclude='*.tmp'

Tips for Efficient Tar Usage

  • Always verify your tar archive by listing its contents.
  • Use compression to save disk space.
  • Use verbose mode when creating or extracting to monitor progress.
  • Exclude unnecessary files to keep archives clean.
  • Use absolute or relative paths carefully to avoid confusion.

Conclusion

Now you know how to tar a file in Linux, from creating simple archives to compressing and extracting them. The tar command is powerful and flexible, making it a must-have tool for managing files efficiently. Whether you’re backing up data or preparing files for transfer, tar simplifies the process.

By practicing these commands and options, you’ll become comfortable handling tar archives in no time. Remember to use compression wisely and check your archives before deleting original files. With these skills, managing files on Linux will be easier and more organized.

FAQs

How do I create a tar archive of multiple files?

Use tar -cf archive.tar file1 file2 to create an archive containing multiple files.

Can I compress a tar file with gzip?

Yes, add the -z option like tar -czf archive.tar.gz folder/ to compress with gzip.

How do I extract a tar.gz file?

Use tar -xzf archive.tar.gz to extract a gzip compressed tar file.

Can I add files to a compressed tar archive?

No, you must decompress the archive first, then append files to the uncompressed tar.

How do I exclude files when creating a tar archive?

Use the --exclude='pattern' option, for example: tar -czf archive.tar.gz folder --exclude='*.log'.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts