Create a TAR Archive of a Directory

Posted July 16, 2003 by Quinn McHenry in UNIX

A common task in linux and UNIX operating systems is to create an archive of many files or directories in a single file. The tar command is one option for archiving and has many options and can do many things.


Wrapping an entire directory structure into a tar archive is extremely useful. This simple command will allow you to create a tar archive that contains a preserved hierarchy of directories.

In a simple example, you can create a file called archive.tar of all the files and subdirectories in the current directory with the following command:

tar cf archive.tar *

Note that this file is different from a zip archive commonly used in Windows environments because it is uncompressed.

 

About Quinn McHenry

Quinn was one of the original co-founders of Tech-Recipes. He is currently crafting iOS applications as a senior developer at Small Planet Digital in Brooklyn, New York.
View more articles by Quinn McHenry

The Conversation

Follow the reactions below and share your own thoughts.

  • dan

    Thanks for saving my time with this posting.

  • thank you – my memory it’s going cracked

    just entered tar jcf filename.tar.bz2 /tmp

  • Jhnmrtnpaolo

    how to unarchive in unix,if the file is named a archive.tar.gz . . . . using a cat,gzip, tar. on one command line

    • Guest

      Jhnmrtnpaolo,
      Use this command: tar -zxvf archive.tar.gz

    • guest

      Jhnmrtnpaolo, you may also use -C option to type a directory you want to save the unarchived files to:
      tar -zxvf archive.tar.gz -C /directory_to_save

  • thanks for the simple tip but very useful

  • Cheryl Bates

    How do I copy (using the tar command) all the files in a directory to tape without copying the sub directories. I just want the files.

    Thanks,
    Cheryl

  • Cheryl,

    Just add an n option to the command.. so

    tar cnf archive.tar *

    will grab just the files matching * and will not recursively dig into subdirectories.