Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Arhiivid ja pakkimine, mis kuulub osasse Osa III: Failid, võrk ja süsteemitöö.

Arhiivid ja pakkimine

Loogika

Arhiveerimine koondab failid, pakkimine teeb need väiksemaks. See on seotud failide liigutamise, allalaadimise ja varukoopiatega.

Kiirülevaade

Erista kaht sammu: failide koondamine üheks arhiiviks ja selle arhiivi tihendamine väiksemaks.

Käsk või formaatMilleksMida tavaliselt näed
tarkoonda failid arhiiviksedukal loomisel võib olla vaikne
gzip, xztihenda arhiiv väiksemakstekib tihendatud fail
.tar.gztar + gzip koosüks kokkupakitud arhiiv
ziparhiiv ja tihendus ühes vormingustekib .zip fail
tar -tfvaata arhiivi sisufailide loend
tar -xf, unzippaki lahtitar sageli vaikne, unzip näitab faile

Tüüpilised algaja vead

  • arvatakse, et .tar tähendab juba tihendatud faili
  • pakitakse arhiiv lahti vales kataloogis
  • ei vaadata enne lahtipakkimist, mis arhiivi sees on

Tähtsamad valikud

  • c create ehk loo arhiiv
  • x extract ehk paki lahti
  • t table ehk näita sisu
  • f file ehk järgmine argument on arhiivifaili nimi
  • z kasuta gzip pakkimist
  • J kasuta xz pakkimist
  • v verbose ehk näita töö käigus rohkem infot

tar põhimõte

tar ise on ajalooliselt arhiveerija. Pakkimine lisatakse sageli eraldi:

  • tar ainult koondab failid
  • gzip teeb faili väiksemaks
  • xz pakib tihedamalt, aga võib olla aeglasem

Sellepärast on need kujundid sisuliselt järgmised:

  • tar -cf loo arhiiv ilma pakkimata
  • tar -czf loo gzip-ga pakitud arhiiv
  • tar -xzf paki gzip-ga pakitud arhiiv lahti
  • tar -cJf loo xz-ga pakitud arhiiv

.tar.gz ja .tgz tähendavad tavaliselt sama asja. .tgz on lihtsalt lühem failinimi.

Käivita need käsud


mkdir -p ~/tmp/arh/kaust
printf 'tere\n' > ~/tmp/arh/kaust/tere.txt
tar -cf ~/tmp/arh/proov.tar -C ~/tmp/arh kaust
tar -tf ~/tmp/arh/proov.tar

tar -czf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh kaust
tar -xzf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh

zip -r ~/tmp/arh/proov.zip ~/tmp/arh/kaust
unzip ~/tmp/arh/proov.zip -d ~/tmp/arh/unzipped

Millal mida kasutada

  • tar.gz on väga levinud Linuxi maailmas
  • tar.xz sobib siis, kui tihendusaste on tähtis
  • zip on mugav, kui faile jagatakse erinevate süsteemide vahel

Metaandmed ja puustruktuur

Arhiiviformaadi valikul ei loe ainult tihendusaste. Loeb ka see, mida arhiiv peab kaasa võtma.

  • tar sobib hästi Unix-laadse puustruktuuri jaoks
  • tar säilitab failipuud, õigused, ajatemplid ja lingid paremini kui zip
  • zip on sageli mugavam jagamiseks eri süsteemide vahel
  • zip ei ole tavaliselt parim valik siis, kui Unixi õigused ja omanikud on olulised

Praktiline mõtteviis:

  • Linuxi või serveri varukoopia: eelista sageli tar.gz või tar.xz
  • laiemaks jagamiseks: zip

Kasulikud võtted

  • tar -tf fail.tar.gz näitab sisu ilma lahti pakkimata
  • tar -tzf fail.tar.gz | less laseb suure arhiivi sisu sirvida
  • tar -xzf fail.tar.gz -C sihtkaust pakib lahti kindlasse kohta
  • tar -czf backup-$(date +%F).tar.gz kaust/ teeb kuupäevaga varukoopia
  • unzip -l fail.zip näitab zip-arhiivi sisu ilma lahti pakkimata

Kui arhiiv on suurem, lehitse sisuloendit:


tar -tzf fail.tar.gz | less

See aitab enne lahtipakkimist näha:

  • mis kaustad seal sees üldse on
  • kas arhiivis on ootuspärane juurkataloog
  • kas failinimed paistavad mõistlikud

Minitest

  1. Loo väike testkaust kahe failiga.
  2. Tee sellest tar.gz arhiiv.
  3. Vaata arhiivi sisu ilma seda lahti pakkimata.
  4. Paki arhiiv lahti teise kausta.

Peatüki täisspikker

Praktiline kasutus

Eesmärk

arhiiv koondab failid; tihendamine võib mahtu vähendada, kuid juba pakitud sisu puhul mitte tingimata

Põhikujud

  • tar -cf proov.tar kaust/loo arhiiv
  • tar -tf proov.tarvaata sisu
  • tar -czf proov.tar.gz kaust/loo gzip-arhiiv
  • tar -xzf proov.tar.gz -C siht/paki lahti sihtkohta
  • zip -r proov.zip kaust/loo zip
  • unzip -l proov.zipvaata zip sisu

Olulisemad lipud, märgid ja kiirnupud

  • tar -cfloo arhiiv
  • tar -tfvaata sisu
  • tar -czfgzip-iga kokku
  • tar -xzfpaki gzip lahti
  • zip -rpaki kataloog ZIP-arhiivi
  • unzip -lvaata zip sisu