Nagu find, on ka tar väga vana UNIX® utiliit, mistõttu selle süntaks on omajagu spetsiifiline. See näeb välja selline:
tar [võtmed] [failid...]
Toome siin ära mõned võtmed. Pange tähele, et kõigil neil on ka vastavad pikemad analoogid, aga selleks vaadake juba manuaalilehekülge tar(1).
![]() | Märkus |
---|---|
tar ei kasuta enam lühivõtmete puhul eelnevat kriipsu |
v
: niinimetatud jutukuse suurendamine. Näidatakse arhiivi lisatavate või sealt ekstraktitavate failide nimesid. Kui seda kasutada koos võtmega t
(vt. eespool), näidatakse lühikese failide nimekirja asemel pikka.
f <failinimi>
: arhiivi loomine nimega failinimi
, ekstraktib failid arhiivist failinimi
või näitab arhiivi failinimi
failide nimekirja. Kui see parameeter ära jätta, on vaikefailiks /dev/rmt0
, mis on üldjuhul spetsiaalne striimeriga seotud fail. Kui failiparameetriks on -
(kriips), seostatakse sisend või väljund (sõltuvalt sellest, kas loote arhiivi või ekstraktite) standardsisendi või -väljundiga.
z
: annab tar'ile teada, et loodav arhiiv tuleb tihendada gzip'iga või et ekstraktitav arhiiv on tihendatud gzip'iga.
j
: sama, mis z
, ainult et tihendamiseks kasutatakse programmi bzip2.
p
: failide ekstraktimisel arhiivist säilitatakse kõik faili atribuudid, kaasa arvatud omanik, viimase kasutamise aeg ja nii edasi. Väga kasulik failisüsteemi tõmmiste korral.
r
: lisab käsureal antud failide nimekirja olemasolevale arhiivile. Arvestage, et arhiiv, millele soovite faile lisada, ei tohi olla tihendatud!
A
: lisab käsureal antud arhiivid arhiivi, mis antakse võtmega f
. Sarnaselt võtmele r
ei tohi ka selle puhul arhiivid olla tihendatud.
Võtmeid on veel terve hulk, kõigi nendega aitab tutvuda manuaalilehekülg tar(1). Vaadake näiteks võtit d
.
Võtame nüüd ette näite. Oletame, et soovite luua arhiivi kõigi kataloogis /shared/pildid
leiduvate piltidega, tihendada selle programmiga bzip2, anda sellele nimeks pildid.tar.bz2
ning paigutada loodud faili kataloogi /home
. Selleks tuleb anda selline käsk:
# # Märkus: Te peate viibima kataloogist, mille faile # soovite arhiveerida! # $ cd /shared $ tar cjf ~/pildid.tar.bz2 pildid/
Nagu näete, kasutasime siin kolme võtit: c
andis tar'ile teada, et soovime luua arhiivi, j
andis korralduse tihendada see bzip2'iga ja f ~/pildid.tar.bz2
korralduse luua arhiiv meie kodukataloogis nimega pildid.tar.bz2
. Nüüd kontrollime, kas loodud arhiiv on ikka korrektne. Selleks saab lasta näiteks loetleda selle failid:
# # Suunduge oma kodukataloogi # $ cd $ tar tjvf pildid.tar.bz2
Siin andsime tar'ile korralduse loetleda (t
) failid arhiivis pildid.tar.bz2
(f pildid.tar.bz2
), hoiatasime, et arhiiv on tihendatud bzip2'iga (j
) ja teatasime, et soovime pikka nimekirja (v
). Oletame nüüd, et kustutasite kogemata või mingil põhjusel oma pildikataloogi. Õnneks on Teil aga arhiiv alles ja soovite nüüd selle ekstraktida, et saada failid tagasi sinna, kus nad algselt olid (/shared
alamkataloogis). Aga kuna Te soovite ka edaspidi kasutada find'i uute piltide leidmise käsku, siis on vaja säilitada ka kõik failide atribuudid:
# # cd kataloogi, kuhu soovite arhiivi ekstraktida # $ cd /shared $ tar jxpf ~/pildid.tar.bz2
Oletame nüüd, et soovite arhiivist ekstraktida ainult ja ainult kataloogi /pildid/autod
. Selleks tuleb anda käsk:
$ tar jxf ~/pildid.tar.bz2 pildid/autod
Kui üritate varudanda spetsiaalseid faile, võtabki tar neid spetsiaalsete failidena ega ürida nende sisust tõmmist teha, Sestab võite julgelt arhiveerida näiteks /dev/mem
. Programm tuleb väga edukalt toime ka viitadega, nii et needki ei valmista muret. Nimeviitade kohta tasuks tutvuda võtmega h
(vaadake manuaalilehekülg
e).
Me puutusime nende utiliitidega kokku juba tar'i juures. Erinevalt näiteks Windows® keskkonnas kasutatavast rakendusest WinZip® käib arhiveerimine ja tihendamine kahe erineva utiliidiga: tar on mõeldud arhiveerimiseks ja kaks programmi, mida kohe tutvustame, tihendamiseks: bzip2 ja gzip. Te võite muidugi kasutada ka muid tihendamistööriistu: GNU/Linuxile on olemas ka zip, arj ja rar, kuigi neid kasutatakse harva.
Algselt loodi bzip2 utiliidi gzip asendajaks. Selle tihendustase on üldiselt parem, kuid samas nõuab see töötamise ajal märksa rohkem ressursse. Vanemate süsteemidega ühilduvuse tagamiseks on gzip endiselt kasutusel.
Mõlemal käsul on sarnane süntaks:
gzip [võtmed] [failid]
Kui failinimi andmata jätta, pöörduvad nii gzip kui bzip2 andmeid otsides standardsisendi poole ja saadavad oma tulemuse standardväljundisse. Seepärast saab mõlemat programmi kasutada ka torudes. Mõlemal on ka ühised võtmed:
Võtame nüüd ette näited. Oletame, et soovite tihendada aktiivses kataloogis kõik laiendiga .txt
failid ja kasutada selleks programmi bzip2 maksimaalse tihendusega. Selleks tuleb anda käsk:
$ bzip2 -9 *.txt
Nüüd oletame, et soovite jagada kellegagi oma pildiarhiivi, aga tal ei ole programmi bzip2, vaid ainult gzip. Selleks ei ole vaja arhiivi lahti ja uuesti kokku pakkida, vaid selle võib lahti pakkida standardväljundisse, suunata see torusse, tihendada standardväljund ja suunata väljund uude arhiivi. See käib nii:
bzip2 -dc pildid.tar.bz2 | gzip -9 >pildid.tar.gz
Te võite ka bzip2 -dc asemel kirjutada bzcat. Programmile gzip on samuti samasugune asendaja olemas, aga selle nimi on zcat, mitte gzcat. Kui soovite tihendatud faile mitte lahti pakkida, vaid neid otse vaadata, võite kasutada programme bzless bzip2 ja zless gzip puhul. Proovige nüüd näiteks leida iseseisvalt käsk, milega vaadata tihendatud faile ilma neid lahti pakkimata ja ilma programme bzless või zless kasutamata.