Unul dintre cele mai des întâlnite formate de fișiere în Linux are extensia .tar.gz. Un fișier tar.gz nu este altceva decât o arhivă tar. Acest tip de arhivă se obține folosind comanda tar. Numele tar vine de la tape archiver.
Arhivarea unui folder cu tar
Pentru a face o arhivă tar cu conținutul unui folder, vom folosi următoarea comandă:
tar zcvf nume-arhiva-tar.tar.gz nume-folder-sursă
Această comandă va arhiva întregul conținut al folderului-sursă și va rezulta fișierul nume-arhivă-tar.gz.
Explicații:
- z --> comprimă cu gzip
- c --> creează o arhivă
- v (verbose) --> listează toate fișierele care se introduc în arhivă
- f --> se precizează numele fișierului
În loc de arhivarea cu gzip se mai practică arhivarea cu bzip2 sau xz. În acest caz, în locul argumentului -z vom avea:
- j --> comprimă arhiva cu bzip2
- J --> comprimă arhiva cu xz
Fișierele comprimate cu gzip au extensia tar.gz, cele comprimate cu bzip2 au extensia tar.bz2, iar cele comprimate cu xz vor avea extensia tar.xz. Uneori, aceste extensii se mai întâlnesc sub forma: .tgz, .tbz sau .txz.
Extragerea unei arhive cu tar
Pentru a extrage o arhivă tar.gz, tar.bz2 sau tar.xz, vom folosi una din următoarele comenzi care vor extrage arhiva într-un director numit nume-arhivă-tar (se păstrează numele arhivei):
- pentru o arhivă tar.gz (sau .tgz)
tar zxvf nume-arhivă-tar.tar.gz
- pentru o arhivă tar.bz2 (sau .tbz):
tar jxvf nume-arhivă-tar.tar.bz2
- pentru o arhivă tar.xz (sau .txz):
tar Jxvf nume-arhivă-tar.tar.xz
Singurul argument care are nevoie de explicații este următorul (celelalte sunt identice cu cele de la arhivare):
- x --> extrage fișierele dintr-o arhivă
În imaginea de mai jos se observă cum am folosit cele 3 comenzi pentru arhivarea directorului dir:
Pentru mai multe informații despre comanda tar folosiți cu încredere man tar.
Doru a zis
Buna ziua. Am descarcat skinul Copper pentru Vu+Zero4k dar fisierul este in tar.gz. Cum pot sa il convertesc in ipk caci receptorul nu accepta decat ipk. Multumesc anticipat.
anon a zis
Salut.
Am sa vin cu un exemplu. Am o arhiva gen tarbal cu extensia .txz sau .xz, vestitul hai sa zic stage3 de la gentoo.
Aceasta arhiva se descarca undeva in /mnt/gentoo dupa care se dezahiveaza, avand drept rezultat fisierele viitorului sistem.
Acum, am o alta arhiva aproape identica, in ce sens, atunci cand a fost arhivata in interiorul ei se gasesc fisierele de care vorbeam mai sus, numai ca sunt intr-un folder.
Care este problema: atunci cand se dezarhiveaza in /mnt/gentoo apare folderul respectiv si in el sunt fisierele sistemului, or eu vreau ca acele fisiere sa le extrag direct in /mnt/gentoo, pentru ca asa este corect.
Cum se procedeaza?
Sper ca am fost cat de cat explicit...
Sau cum pot arhiva fisierele respective ala viitorului sistem fara acel folder in care sunt incluse.
Multumesc.
Bobses a zis
Încearcă asta pentru a arhiva doar fișierele dintr-un anumit director:
tar -czvf director.tar.gz -C director .
Pentru a extrage o arhivă tar într-un anumit director:
tar -zxf file.tar.gz --directory /mnt/gentoo
Ice Alinutza a zis
Dacă aș fi utilizator de Windows și aș citi articolul tău (nu numai acesta) aș spune "mamă, nu mă apuc să utilizez linuxul în veci dacă-i așa de complicat!!!" 😀 Cred că nu ar fi lipsit de importanță ca-n preambulul unor astfel de articole să amintești că există și interfață grafică pentru așa ceva iar utilizarea "liniei de comandă" nu face altceva decât să ofere mai multe facilități pentru realizarea unei "acțiuni". 🙂 Personal apreciez și îți citesc toate articolele pe care le scrii cu privire la linux (nu degeaba m-am abonat la blogul tău) chiar dacă nu intervin mereu! Succes!
Bobses a zis
Păi arhivarea/dezarhivarea din interfața grafică e la fel ca în Windows. 🙂 Unde mai e plăcerea atunci? 🙂
Referitor la abonare: celălalt articol de azi n-a plecat prin email (se pare că Jetpack-ul a făcut niște probleme). Mă gândesc să schimb modul de abonare și să trec la MailChimp.