Ce face tar
Numele tar provine de la tape archive (arhivă pe bandă magnetică). În UNIX și Linux, arhivarea (unirea mai multor fișiere într-unul singur, păstrând permisiunile și structura de directoare) este separată de compresie (micșorarea dimensiunii prin algoritmi matematici).
Cele două comenzi de bază sunt: crearea unei arhive comprimate cu tar -czvf arhiva.tar.gz folder/ și extragerea unei arhive cu tar -xzvf arhiva.tar.gz.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-c, --create |
Creează o arhivă nouă. |
-x, --extract |
Extrage conținutul unei arhive existente pe disc. |
-t, --list |
Listează conținutul arhivei fără a o despacheta. |
-z, --gzip |
Filtrează arhiva prin compresorul gzip (pentru extensii .tar.gz sau .tgz). |
-j, --bzip2 |
Filtrează arhiva prin bzip2 (compresie mai puternică, extensie .tar.bz2). |
-v, --verbose |
Afișează numele fiecărui fișier procesat. |
-f, --file=NUME |
Specifică numele fișierului de arhivă (opțiunea -f trebuie pusă întotdeauna ultima în grupul de opțiuni). |
-C, --directory=DIR |
Schimbă directorul înainte de a extrage conținutul (extragere într-o destinație specifică). |
Exemple
Exemplul 1: Crearea și extragerea unei arhive tar.gz
Împachetăm un director într-o arhivă comprimată și o extragem într-un folder nou.
mkdir -p pachet
echo "Salut din arhiva" > pachet/mesaj.txt
tar -czf pachet.tar.gz pachet
mkdir -p destinatie
tar -xzf pachet.tar.gz -C destinatie
cat destinatie/pachet/mesaj.txt
Rezultat
Salut din arhiva
Greșeli frecvente
- Plasarea altei litere după
-f(de exemplutar -czfv fisier.tar.gz): în acest caztarva crede că numele arhivei este ‘v’ și va da eroare; literaftrebuie să fie întotdeauna urmată direct de numele fișierului. - Despachetarea unei arhive necunoscute fără a verifica mai întâi conținutul cu
tar -tf(pentru a evita arhivele care își varsă sute de fișiere direct în directorul curent fără un folder părinte, așa-numita „tar bomb”).