**tar** (engl. *tape archive*) on alun perin Unix-järjestelmissä käytetty tiedostomuoto, ja kyseisen tiedostomuodon käsittelyyn käytetty ohjelma. Nykyisin tar-tiedostomuoto ja ohjelman käyttöparametrit on määritelty POSIX.1-standardissa (1988 ja 2001), ja tiedostomuotoa tuetaan myös monissa muissa ei-POSIX-käyttöjärjestelmissä.

Alun pitäen ohjelma ja tiedostomuoto luotiin varmuuskopioiden tekemiseen nauha-asemalle ja muille sarjamuotoiseen tallentamiseen pohjaaville varmuuskopiolaitteille. Nykyisin sitä käytetään laajalti Unixin kaltaisissa järjestelmissä tiedostojen pakkaukseen yhteen tiedostoon, tavallisesti varmuuskopiointia, levittämistä tai siirtämistä varten. Sarjamuotoisuus näkyy edelleen siinä, että tar-ohjelma voi lukea arkistotiedoston standardisyötteestä ja kirjoittaa sen standardiulostuloon, ja mahdollistaa täten tiedon putkittamisen toiseen ohjelmaan. Haittana on se, että yksittäisten tiedostojen purkaminen tiedostosta on vaikeampaa, koska tar-tiedosto pitää lukea alusta alkaen purettavaa tiedostoa etsittäessä.

Tar-tiedostomuoto ei sisällä itsessään tiedon pakkausta. Tämän takia tar-tiedostot tyypillisesti pakataan vielä toisella ohjelmalla. Vanhemmissa Unix-järjestelmissä käytettiin compress-ohjelmaa, mutta nykyisin käytännön standardeja ovat gzip, bzip2 ja xz. Tar-tiedostojen tiedostopäätteinä ovat siis *.tar.gz* tai *.tgz*, jos tiedosto on pakattu gzip-ohjelmalla, tai *.tar.bz2* jos tiedosto on pakattu bzip2-ohjelmalla.

Historia
--------

Varhainen versio ohjelmasta oli mukana AT&T:n Unix-versiossa 7 (Seventh Edition Unix), joka oli yksi varhaisimmista laajalti käytetyistä ohjelman versioista. Ohjelma julkaistiin tammikuussa 1979, jolloin se korvasi tp-ohjelman Unix-versiosta 4 (Fourth Edition Unix). tp oli korvannut tap-ohjelman ensimmäisestä Unix-versiosta (First Edition Unix).

POSIX-standardi muutti useita asioita tar-määrittelyssä, kuten välilyöntien käyttö numerokenttien edessä. Ennen POSIX-standardia oli John Gilmoren pdtar ja standardin jälkeen ilmestyi "ustar" (Unix Standard tar).
Muita tar-versioita on muun muassa Joerg Shillingin star noin vuodelta 1985.

GNU-projektin version kirjoitti aluksi John Gilmore, jonka jälkeen sitä ovat kehittäneet useat henkilöt.

Käyttö
------

### Valitsimet

|  |  |
| --- | --- |
| -c | luo arkiston |
| -C | valitsee työhakemiston eli lähdehakemiston (saa olla useita) |
| -H | nimettyjen symbolisten linkkien kohteita seurataan arkistoiden kohteet; oletusarvoisesti tar ei siis seuraa symbolisia linkkejä |
| -f | nimeää arkiston valitulla nimellä |
| -k | (-x tarvitaan) ei korvata jo olemassa olevia tiedostoja arkistosta puretuilla samannimisillä tiedostoilla |
| -L | kaikki symboliset linkit seurataan ja kohteet arkistoidaan; ks. -H |
| -r | lisää arkistoon (-f tarvitaan) |
| -t | listaa arkiston artikkelit oletustulostusvirtaan |
| -u | lisää arkistoon, mikäli lisättävät artikkelit ovat uudempia kuin arkistossa jo mahdollisesti olevat samannimiset tiedostot (-f tarvitaan) |
| -v | antaa lisäinformaatiota suoritettavasta tehtävästä |
| -x | purkaa arkiston tai hakee arkistosta (voi hakea yksittäisiäkin tiedostoja) |

### Esimerkkejä

Tehdään varmuuskopio koko kovalevystä (juurihakemistosta alkaen) nimellä backup0.tar:

```
 tar -cvf backup0.tar -C /. 

```

Puretaan yllä luotu arkisto juurihakemistoon: 

```
 tar -xvf backup0.tar -C /

```

Kopioidaan hakemisto /usr/user1/ , sen kaikki tiedostot ja alihakemistot tiedostoineen hakemistoon /usr/user2 

```
 tar -cvf - -C /usr/user1/. | tar -xvf - -C /usr/user2/

```

Varmuuskopioidaan kaikki järjestelmän 30 päivää ja aikaisemmin muokatut tiedostot:

```
 tar -cvf backup0.tar -C / `find / -mtime +30 -type f -print`

```

Katso myös
----------

* cpio

Lähteet
-------

1. 1 2 3 4 5 6  BSD File Formats Manual *freebsd.org*. Viitattu 28.8.2021. (englanniksi)
2. ↑  1.5 GNU tar Authors *gnu.org*. Viitattu 28.8.2021. (englanniksi)
3. ↑  tar(1) - Linux man page *linux.die.net*. Viitattu 9.8.2023. (englanniksi)

Aiheesta muualla
----------------

* tar(1) (englanniksi)
* GNU tar: an archiver tool (englanniksi)