tar(1) is the GNU tape archiver. Uzima nekoliko datoteka ili direktorija i kreira jednu veliku datoteku. To nam omogućava kompresiju cijelog stabla direktorija, što je nemoguće kod korištenja gzip ili bzip2 naredbi. tar naredba ima mnogo opcija, koje su objašnjene u njegovoj man stranici. Ovaj dio će pokriti samo najosnovnije stvari tar naredbe.
Najčešća upotreba tar naredbe je kompresija i dekompresija paketa koji je skinut sa neke web ili ftp stranice. Većina datoteka dolazi sa .tar.gz ekstenzijom. Ovako arhivirana datoteka se obično naziva “tarball”. To znači da su datoteke arhivirane upotrebom naredbe tar i zatim kompresirane sa gzip. Također postoji mogućnost da se sretnete sa .tar.Z datotekama što je potpuno ista stvari, ali se obično sreće na starijim Unix sustavima.
Također se mogu naći datoteke sa .tar.bz2 ekstenzijom. Izvorni kod kernel-a se distribuira na taj način jer predstavlja manju količinu za skidanje. Kao što možete i pretpostaviti, ova vrsta datoteka predstavlja više datoteka arhiviranih tar naredbom a zatim kompresiranih bzip naredbom.
Svim ovim datotekama u arhivi može se pristupiti koristeći tar
i određene argumente. tarball se može raspakirati korištenjem opcije -z,
što znači da se datoteka prvo pokreće kroz gunzip i
dekompresira se. Najčešći način za dekompresiju je slijedeći:
% tar -xvzf filename.tar.gz |
Postoji velik broj opcija, no što one sve znače? -x znači ekstraktiranje.
To je važno jer govori tar naredbi što točno treba učiniti sa ulaznom datotekom.
U ovom slučaju ćemo ulaznu datoteku razdvojiti na datoteke iz kojih je ona napravljena. -v znači verbose tj. opširno. To će izlistati sve fajlove koji se dearhiviraju.
Potpuno je dozvoljeno ovu opciju izostaviti. Također se može koristiti -vv
da, podatke koji se arhiviraju, pokaže još opširnije. -z opcija govori naredbi
tar da datoteku filename.tar.gz prvo provede kroz
gunzip. I na kraju -f opcija naredbi
tar govori da je slijedeći niz znakova unjetih u naredbenu liniju datoteka nad kojom se vrši operacija.
Postoji još nekoliko drugih načina za izvršavanje ove iste naredbe. Na starijim sustavima sa starijom verzijom GNU tar, možete naredbu vidjeti napisanu ovako:
% gunzip filename.tar.gz | tar -xvf - |
Ova će naredba dekompresirati datoteku i izlaz poslati tar naredbi. Pošto će naredba gzip poslati rezultat na standardni izlaz (stdout) ako joj se kaže, ova će naredba ispisati dekompresiranu datoteku na standardni izlaz te će ju cijev (pipe) poslati tar naredbi na dearhiviranje. “-” znači vršenje operacija na standardnom ulazu (stdin). Dearhivirat će tok podataka koji se dobije od naredbe gzip i zapisati ga na disk.
Drugi način da se napiše ta naredba je izostavljanje crtice prije navođenja argumenata:
% tar xvzf filename.tar.gz |
Također postoji mogućnost da naiđete na bzip-anu arhivu. Verzija tar aplikacije
koja dolazi sa Slackware Linux-om može njima baratati jednako kao i sa gzip-anim arhivama. Umjesto opcije
-z koristi se -j opcija:
% tar -xvjf filename.tar.bz2 |
Također je važno naglasiti da će tar naredba dearhivirane datoteke
smjestiti u trenutni tj. radni direktorij. Ako imate arhivu u /tmp direktoriju
koju želite dekompresirati u vaš home direktorij, imate na raspolaganju nekoliko opcija. Prva je ta da
arhivu premjestite u svoj home direktorij i onda je pokrenuti kroz tar naredbu.
Također možete specificirati putanju do arhive u naredbenoj liniji. Još postoji mogučnost korištenja
-C opcije koja “raširi” tarball u označenom direktoriju.
% cd $HOME % cp /tmp/filename.tar.gz . % tar -xvzf filename.tar.gz % cd $HOME % tar -xvzf /tmp/filename.tar.gz % cd / % tar -xvzf /tmp/filename.tar.gz -C $HOME |
Svi gore navedeni primjeri su jednaki. U svakom pojedinom slučaju, arhiva je otpakirana unutar vašeg home direktorija i originalna dekompresirana datoteka je postavljena na mjesto.
Ali što nam znači to što imamo mogučnost da dekompresiramo te arhive ako ih ne možemo kreirati?
tar naredba je također odgovorna za kreiranje arhiva. U većini slučajeva je to
jednostavno kao zamjenjivanje “-x” opcije sa
“-c” opcijom.
% tar -cvzf filename.tar.gz . |
U ovoj naredbi, -c opcija govori
tar naredbi da stvori arhivu, dok -z
opcija pokreće rezultirajuću datoteku kroz gzip naredbu
da bi ju kompresirala. filename.tar.gz je naziv datoteke koju želite stvoriti
Navođenje “-f” opcije nije uvijek
potrebno, ali se smatra dobrom praksom. Bez nje, tar naredba piše na standardni izlaz
što je poželjno kada se izlaz tar naredbe koristi kao ulaz drugog programa, tzv. pipe. Na primjer:
% tar -cv filename.tar . | gpg --encrypt |
Ta naredba kreira nekompresiranu tar arhivu u trenutnom direktoriju, pipe-a tarball kroz gpg koji enkriptira i kompresira tarball, čineći nemogućim da ga pročita itko drugi osim osobe koja posjeduje tajni ključ.
| Prethodno | Na početak | Sljedeće |
| bzip2 | Iznad | zip |