Tape Archive
- This article is about the electronic archive format. For physical tape archives, see Magnetic tape or Punched tape.
Tape Archive (tar) is a traditional UNIX archive format, defined in POSIX.1-1988 and later POSIX.1-2001. Its original purpose was to archive files on backup tapes. While tar itself does not offer any compression, it's frequently used together with an stream compression format such as gzip, bzip2 and sometimes XZ to provide file archiving plus compression. Most modern implementations of tar, present in UNIX/Linux systems, offer built-in support for this combined operation by using a modifier such as z (GZip) or j (BZip2). Files compressed this way should have a dual file extension such a .tar.gz or tar.bz2 (but sometimes the .tgz extension is used in place of .tar.gz). Archived data in the tar format is sometimes referred to as a "tarball".
Variants
There exist actually some variants to the TAR archive. The original POSIX.1-1988 TAR format had limitations on the type of files it could contain and the length of filenames. That's why the USTAR format was later developed and standardized as POSIX IEEE P1003.1. Jörg Schilling has collected some information about the different implementations, see the references section. There's also an old version (often referred to as "non-ANSI Tar" or simply "old Tar") which both GNU Tar and STar can read and write
Disk Archiver (DAR) was intended by its authors as a replacement for TAR, supporting file compression among other features.
Examples
Compressing two files into a .tar.gz archive
tar cvf output.tar.gz inputfile1 inputfile2
Extracting a .tar.gz archive to the current directory.
tar xvf output.tar.gz