Section author: Vedran Miletić, Vanja Slavuj, Sanja Pavkov
Arhiviranje i komprimiranje¶
stilovi/standardi parametara
System V (UNIX) stil – prefiksirani crticom, mogu se grupirati (npr.
ls -a -s
je isto što ils -as
)BSD stil – nisu prefiksirani crticom, mogu se grupirati (kod
tar
-a se moraju)GNU dugački stil – prefiksirani dvjema crticama, ne mogu se grupirati (npr.
ls --all --size
)
Arhiviranje¶
tar (naredba
tar
) je alat za arhiviranje (!= komprimiranje)ime tar je skraćeno od Tape ARchiver
arhive koje stvara nazivamo tarball
podržava sva tri stila parametara; sljedeće naredbe su ekvivalentne
$ tar -c tekst.txt # System V stil $ tar c tekst.txt # BSD stil $ tar --create tekst.txt # GNU dugački stil
osnovni parametri su
-Acdtrux
, u šali se ponekad čita kao “acid trucks”postoje i brojne druge šale o alatu, npr. xkcd: tar
stvaranje
tar
arhive vrši se pomoću parametra-c
:$ tar -cvf naziv_arh.tar naziv_dir/ # c = create, v = verbose, f = file; v je opcionalan $ tar -cvf naziv_arh1.tar naziv_dat
izvlačenje datoteka iz
tar
arhive radi se pomoću parametra-x
(untar
ne postoji):$ tar -xvf naziv_arh.tar # x = extract
izlistavanje datoteka u
tar
arhivi:$ tar -tvf naziv_arh.tar
ostale mogućnosti
tar
-a:$ tar -rvf naziv_arh.tar adresa/nove/Dat # dodavanje jedne datoteke u tar datoteku $ tar -rvf naziv_arh.tar adresa/novog/Dir/ # dodavanje jednog direktorija u tar datoteku $ tar -xvf naziv_arh.tar naziv_datoteke # izvlačenje jedne datoteke iz tar datoteke $ tar -xvf naziv_arh.tar naziv_direktorija # izvlačenje jednog direktorija iz tar datoteke
Zadatak
U svom kućnom direktoriju stvorite datoteku
dat1.txt
, direktorijBackup
i direktorijArhiviranje
, i u njemu niz od 5 tekstualnih datoteka, koje redom nazovitetekst1.txt
,tekst2.txt
, …,tekst5.txt
.Iz
~
u direktorijuBackup
stvorite arhivu pod nazivom6-datoteka.tar
koja sadrži sve gore navedene datoteke.Izlistajte sadržaj te
tar
datoteke, bez izvlačenja datoteka iztar
-a i bez izlaska iz~
.U direktoriju
Arhiviranje
stvorite datotekutekst6.txt
i dodajte ju u postojeću arhivu.
Komprimirane arhive¶
gzip
,bzip2
ixz
su alati za komprimiranje jedne datoteke (dakle, ne arhiviranje)veličina komprimirane datoteke varira ovisno o vrsti sadržaja polazne datoteke
brzina kompresije varira ovisno o veličini datoteke za kompirimiranje, parametrima kompresije i vrsti sadržaja
nakon komprimiranja brišu polaznu datoteku
gunzip
,bunzip2
iunxz
su alati za dekomprimiranjebrzina dekomprimiranja varira ovisno o veličini komprimirane datoteke, parametrima kompresije i vrsti sadržaja
nakon dekomprimiranja brišu komprimiranu datoteku
tar
može koristitigzip
,bzip2
ixz
pa kao rezultat dobijemo komprimiranu arhivucf
– create file, bez kompresijeczf
se koristi za gzip kompresiju,cjf
za bzip2 kompresiju,cJf
za xz kompresijuxf
– extract file, automatsko prepoznavanje kompresijexzf
,xjf
ixJf
rade raspakiravanje datoteka s odgovarajućom kompresijom
Zadatak
U direktoriju
Arhiviranje
stvorite poddirektorijPohrana
. Koristećibzip2
kompresiju stvorite arhivuarhiva.tar.bz2
koja sadrži datoteketekst2.txt
itekst4.txt
, te direktorijPohrana
.U svom kućnom direktoriju stvorite direktorij
dir-backup
, te raspakirajte arhivuarhiva.tar.bz2
u taj direktorij bez kopiranja.Izlaz naredbe
dmesg
zapišite u datotekuizlaz.txt
. Kopirajte ju u datotekeizlaz1.txt
iizlaz2.txt
. (Naredbadmesg
ispisuje poruke koje Linux jezgra javlja kod pokretanja sustava. U većini slučajeva radi se o porukama o hardveru, memoriji i procesima.)Datoteku
izlaz1.txt
sažmitegzip
-om, a datotekuizlaz2.txt
bzip2
-om.Saznajte kako ispisati veličine dobivenih datoteka, te ih usporedite.
Dodatni zadatak
Ispitajte koriste li se
xz
iunxz
na isti način kao igzip
, odnosnobzip2
.Izlaz naredbe
dmesg
zapišite u datotekuizlaz.txt
. Kopirajte ju u datotekeizlaz1.txt
iizlaz2.txt
.Datoteku
izlaz1.txt
komprimirajtegzip
-om, a datotekuizlaz2.txt
bzip2
-om.Saznajte kako ćete ispisati veličine dobivenih datoteka, a zatim ih usporedite. Objasnite zašto, unatoč tome što
bzip2
komprimira više odgzip
-a, nema razlike u veličini.Sada izlaz naredbe
dmesg
dopišite u praznu datotekuizlaz2.txt
pet puta (cilj je dobiti veću datoteku). Ponovite gore opisani postupak. Ima li razlike u veličini datoteka? Objasnite zašto.Isprobajte
cat
na sve tri datoteke. Objasnite dobiveni rezultat. Mogu li vam naredbezcat
ibzcat
pomoći?
zip
iunzip
služe za baratanje ZIP komprimiranim arhivama
Todo
Ovdje nedostaje zadatak.
Ponovimo!
Što je
tar
?Koje stilove navođenja parametara poznajete?
Prisjetite se nekih ranijih naredbi koje smo obradili i provjerite koju vrstu navođenja parametara podržavaju.
Objasnite pojam
tarball
.Koje alate za sažimanje podataka poznajete?
Usporedite najvažnije alate za sažimanje podataka u Unix-like OS-ima.
Kako se sadržaj sažima koristeći naredbu
tar
?