If-Koubou

Cum se comprima și extrage fișierele utilizând comanda tar pentru Linux

Cum se comprima și extrage fișierele utilizând comanda tar pentru Linux (Cum să)

Comanda tar din 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ă. Se poate crea o arhivă .tar și apoi se comprima cu compresie gzip sau bzip2 într-o singură comandă. Din acest motiv, fișierul rezultat este un fișier .tar.gz sau fișier .tar.bz2.

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. Va comprima de asemenea orice alt director din interiorul unui director pe care îl specificați - cu alte cuvinte, funcționează recursiv.

tar -czvf nume-of-archive.tar.gz / path / to / director-sau-fișier

Iată ce semnifică acești switch-uri:

  • -c: Create o arhivă.
  • -z: Comprimați arhiva cu gzip.
  • -v: Afișați progresul în terminal în timp ce creați arhiva, cunoscută și sub denumirea de "verbose ". V este întotdeauna opțional în aceste comenzi, dar este util.
  • -f: vă permite să specificați filename-ul arhivei.

Să presupunem că aveți un director numit "stuff" în directorul curent și doriți să îl salvați într-un fișier numit archive.tar.gz. Ați executa următoarea comandă:

tar -czvf archive.tar.gz chestii

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. Ați executa următoarea comandă:

tar -czvf arhive.tar.gz / usr / local / ceva

Comprimați mai multe directoare sau fișiere simultan

În timp ce tarul este folosit frecvent pentru a comprima un singur director, îl puteți utiliza și pentru a comprima mai multe directoare, mai multe fișiere individuale sau ambele. Furnizați doar o listă de fișiere sau directoare în loc de una 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. Tocmai ați rula următoarea comandă:

tar-czvf archive.tar.gz / home / ubuntu / Descărcări / usr / local / stuff /home/ubuntu/Documents/notes.txt

Doar listați cât mai multe directoare sau fișiere pe care doriți să le creați.

Excludeți directoarele și fișierele

În unele cazuri, puteți dori să comprimați un întreg director, dar să nu includeți anumite fișiere și directoare. Puteți face acest lucru prin adăugarea unui --exclude comutați 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 / Descărcări - exclude = / home / ubuntu / .cache

--exclude comutatorul este foarte puternic. Nu ia nume de directoare și fișiere - acceptă de fapt modele. Mai aveți multe de făcut cu asta. De exemplu, puteți arhiva un întreg director și puteți exclude toate fișierele .mp4 cu următoarea comandă:

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

Utilizați bzip2 Compression Instead

În timp ce compresia gzip este cel mai frecvent folosită pentru a crea fișiere .tar.gz sau .tgz, tar-ul suportă și compresia bzip2. Acest lucru vă permite să creați fișiere comprimate bzip2, deseori numite .tar.bz2, .tar.bz sau .tbz. Pentru a face acest lucru, înlocuiți -z pentru gzip în comenzi aici cu -j pentru bzip2.

Gzip este mai rapid, dar în general se comprimă puțin mai puțin, deci obțineți un fișier oarecum mai mare. Bzip2 este mai lent, dar se comprimă un pic mai mult, deci obțineți un fișier ceva mai mic. Gzip este, de asemenea, mai des întâlnit, cu unele sisteme descurajate în jos, inclusiv suportul gzip în mod prestabilit, dar nu suportul bzip2. În general, însă, gzip și bzip2 sunt practic același lucru și ambele vor funcționa în mod similar.

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

tar-cjvf archive.tar.bz2 chestii

Extrageți o arhivă

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

tar -xzvf archive.tar.gz

Este același lucru cu comanda de creare a arhivelor pe care am folosit-o mai sus, cu excepția comenzii de creare a arhivelor -X comutatorul înlocuiește -c intrerupator. Acest lucru specifică că doriți să eXtractați o arhivă în loc să creați una.

Este posibil să doriți să extrageți conținutul arhivei într-un anumit director. Puteți face acest lucru adăugând -C comutați 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" în comenzile de mai sus cu un "j".

Aceasta este cea mai simplă posibilă utilizare a comenzii tar. Comanda include un număr mare de opțiuni suplimentare, deci nu le putem lista pe toate aici. Pentru mai multe informatii. rulați info tar comanda la shell pentru a vizualiza pagina de informații detaliate a comenzii tar. apasă pe q pentru a închide pagina de informații când ați terminat. Puteți, de asemenea, să citiți manualul online al lui tar.

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