TAR-käsk puust ja punaseks GitHub Linkedin Coderwall Stack Overflow Google+

tar on väga asjalik tööriist, millega saab suurema hulga faile üheks failiks kokku pakkida, kusjuures “pakkimise” all ei mõtle ma tihendamist ega kokkusurumist, sest seda tar iseenesest ei tee (ja see pole üldse halb). Neid arhiive nimetatakse tavaliselt “tarball-ideks”.

Tüüpiline tar-käsk näeb välja selline:

tar [options] file.tar file(s)

Optsioonideks võivad olla näiteks:

Lihtne näide

Kataloogi “myfiles” kokkupakkimine arhiiviks:

tar -cf myfiles.tar myfiles

Selliselt satub arhiivi sisse ka kataloog ise. Nüüd tuleb fail sihtmasinasse liigutada ja seal lahti pakkida:

tar -xf myfiles.tar

Siin on viimane parameeter ära jäetud, sest me teame, et selle sisu on ühes kataloogis koos.

Arhiivi tihendamine

Kuna Unixi filosoofia on, et iga programm peaks tegema ühte asja ja seda hästi, siis tar ise arhiivide kokkusurumisega ei tegele vaid kasutab selleks teisi teeke. Selle funktsiooni käivitamiseks on options-ite hulka vaja lisada j bzip2 või z gzip käivitamiseks.

bzip2-tüüpi arhiivi tekitamine ja avamine:

tar -cjf myfiles.tar.bz2 myfiles
tar -xjf myfiles.tar.bz2

gzip-tüüpi arhiivi tekitamine ja avamine:

tar -czf myfiles.tar.gz myfiles
tar -xzf myfiles.tar.gz

Kiire viis mitme faili ülekandmiseks ssh ja tar abil

Järgnev käsk on väga kacal näide käsurea võimekusest kasutades ära torusid ehk pipe-sid:

ssh raido@server "cd /data && tar -cf - myfiles" > ~/myfiles.tar

Sama asja saab ka vastupidises suunas teha:

tar -cf - myfiles | ssh raido@server "tar -xf -"

Mis viimase lahenduse veel huvitavamaks teeb on see, et arhiiv omale failinime ei saagi, sest teda kuskile failisüsteemi vahepeal ei salvestatagi. Sama lahendust oleks saanud ka esimese käsu puhul kasutada kui faili suunamine (> ~/myfiles.tar) asendada kohese torust tuleva arhiivi lahtipakkimisega (| tar -xf -).

Kui võrguühendus omab mahu või kiiruse osas mingeid piiranguid (nt mobiilne internet), siis saab alati -j või -z lipukese juurde lisada. Piiratud riistvara nagu näiteks Raspberry Pi peal võib see ülekannet aeglustada, sest kokkupakkimine on üsna protsessori-intensiivne tegevus.

Täägid: linux  unix  bsd  cli 
« Node.js paigaldamine Raspberry Pi peale Live streamide vaatamine Kodi/XBMC-ga »
comments powered by Disqus