Cum să comprimați și să extrageți fișiere folosind comanda tar pe Linux

Publicat: 2022-07-23

Antet Tarball comprimat Ubuntu

Comanda tar pe Linux este adesea folosită pentru a crea fișiere de arhivă .tar.gz sau .tgz, numite și „tarballs”. Această comandă are un număr mare de opțiuni, dar trebuie doar să vă amintiți câteva litere pentru a crea rapid arhive cu tar. Comanda tar poate extrage și arhivele rezultate.

Comanda GNU tar inclusă în distribuțiile Linux are compresie integrată. Poate crea o arhivă .tar și apoi o poate comprima cu compresie gzip sau bzip2 într-o singură comandă. De aceea, fișierul rezultat este un fișier .tar.gz sau un fișier .tar.bz2.

Actualizare, 18.07.22: Am examinat acest articol pentru a verifica acuratețea și putem confirma că încă funcționează pe cea mai recentă versiune de Ubuntu și alte distribuții Linux.

Comprimați un director întreg sau un singur fișier

Utilizați următoarea comandă pentru a comprima un întreg director sau un singur fișier pe Linux. De asemenea, va comprima orice alt director din interiorul unui director pe care îl specificați – cu alte cuvinte, funcționează recursiv.

 tar -czvf numele-arhivei.tar.gz /cale/la/director-sau-fișier

Iată ce înseamnă de fapt acele comutatoare:

  • -c: Creați o arhivă.
  • -z: Comprimați arhiva cu g z ip.
  • -v: Afișează progresul în terminal în timpul creării arhivei, cunoscut și ca modul „ v erbose”. V este întotdeauna opțional în aceste comenzi, dar este util.
  • -f : Vă permite să specificați numele de fișier al arhivei.

Să presupunem că aveți un director numit „lucruri” în directorul curent și doriți să îl salvați într-un fișier numit archive.tar.gz. Ai rula următoarea comandă:

 tar -czvf chestii archive.tar.gz

Sau, să presupunem că există un director la /usr/local/something pe sistemul curent și doriți să-l comprimați într-un fișier numit archive.tar.gz. Ai rula următoarea comandă:

 tar -czvf archive.tar.gz /usr/local/something 

Rulați „tar -czvf” în folderul dorit pentru a grupa și a comprima tot conținutul.

Comprimați mai multe directoare sau fișiere simultan

LEGATE: Cum să gestionați fișierele de pe terminalul Linux: 11 comenzi pe care trebuie să le cunoașteți

În timp ce tar este folosit frecvent pentru a comprima un singur director, îl puteți folosi și pentru a comprima mai multe directoare, mai multe fișiere individuale sau ambele. Doar furnizați o listă de fișiere sau directoare în loc de unul singur. De exemplu, să presupunem că doriți să comprimați directorul /home/ubuntu/Downloads, directorul /usr/local/stuff și fișierul /home/ubuntu/Documents/notes.txt. Doar ai rula următoarea comandă:

 tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Doar enumerați câte directoare sau fișiere doriți să faceți copii de rezervă.

Terminalul Ubuntu comprimând mai multe directoare simultan cu comanda „tar”.

Exclude directoare și fișiere

În unele cazuri, este posibil să doriți să comprimați un director întreg, dar să nu includeți anumite fișiere și directoare. Puteți face acest lucru adăugând un comutator --exclude pentru fiecare director sau fișier pe care doriți să îl excludeți.

De exemplu, să presupunem că doriți să comprimați /home/ubuntu, dar nu doriți să comprimați directoarele /home/ubuntu/Downloads și /home/ubuntu/.cache. Iată cum ați proceda:

 tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache

Comutatorul --exclude este foarte puternic. Nu ia nume de directoare și fișiere – de fapt acceptă modele. Poți face mult mai mult cu el. De exemplu, puteți arhiva un director întreg și puteți exclude toate fișierele .mp4 cu următoarea comandă:

 tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4 

Comanda „tar” poate fi reglată pentru a ignora selectiv unele fișiere.

Utilizați în schimb compresia bzip2

În timp ce compresia gzip este folosită cel mai frecvent pentru a crea fișiere .tar.gz sau .tgz, tar acceptă și compresia bzip2. Acest lucru vă permite să creați fișiere comprimate bzip2, adesea numite fișiere .tar.bz2, .tar.bz sau .tbz. Pentru a face acest lucru, trebuie doar să înlocuiți -z pentru gzip din comenzile de aici cu un -j pentru bzip2.

Gzip este mai rapid, dar în general comprimă puțin mai puțin, așa că obțineți un fișier ceva mai mare. Bzip2 este mai lent, dar se comprimă puțin mai mult, așa că obțineți un fișier ceva mai mic. Gzip este, de asemenea, mai comun, cu unele sisteme Linux reduse, inclusiv suport pentru gzip în mod implicit, dar nu și suport pentru bzip2. În general, totuși, gzip și bzip2 sunt practic același lucru și ambele vor funcționa similar.

De exemplu, în loc de primul exemplu pe care l-am furnizat pentru comprimarea directorului de lucruri, ați rula următoarea comandă:

 tar -cjvf archive.tar.bz2 chestii 

Terminalul rulează compresia bzip2 în loc de gzip.

Extrageți o arhivă

Odată ce aveți o arhivă, o puteți extrage cu comanda tar. Următoarea comandă va extrage conținutul archive.tar.gz în directorul curent.

 tar -xzvf arhiva.tar.gz

Este la fel cu comanda de creare a arhivei pe care am folosit-o mai sus, cu excepția faptului că comutatorul -x înlocuiește comutatorul -c . Aceasta specifică că doriți să extrageți o arhivă în loc să creați una.

Poate doriți să extrageți conținutul arhivei într-un anumit director. Puteți face acest lucru adăugând comutatorul -C la sfârșitul comenzii. De exemplu, următoarea comandă va extrage conținutul fișierului archive.tar.gz în directorul /tmp.

 tar -xzvf archive.tar.gz -C /tmp

Dacă fișierul este un fișier comprimat bzip2, înlocuiți „z” din comenzile de mai sus cu un „j”.

Rulați „tar” cu „-xzvf” în loc de argumentul „-czvf” pentru a extrage fișiere dintr-o arhivă tarball.


Aceasta este cea mai simplă utilizare posibilă a comenzii tar. Comanda include un număr mare de opțiuni suplimentare, așa că nu le putem enumera pe toate aici. Pentru mai multe informatii. rulați comanda info tar la shell pentru a vedea pagina de informații detaliate a comenzii tar. Apăsați tasta q pentru a părăsi pagina de informații când ați terminat. De asemenea, puteți citi manualul tarului online.

Dacă utilizați un desktop Linux grafic, puteți utiliza și utilitarul de comprimare a fișierelor sau managerul de fișiere inclus cu desktopul pentru a crea sau extrage fișiere .tar. Pe Windows, puteți extrage și crea arhive .tar cu utilitarul gratuit 7-Zip.

LEGATE: Cele mai bune laptopuri Linux pentru dezvoltatori și entuziaști