Pagina principala » HOWTO » 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

    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 . De asemenea, comanda tar poate extrage arhivele rezultate.

    Comanda GNU tar inclusă în distribuțiile Linux are compresie integrată. Se poate crea o arhivă .tar și apoi o comprima cu compresie gzip sau bzip2 într-o singură comandă. De aceea, fișierul rezultat este un fișier .tar.gz sau .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 rula 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 rula 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, vă recomandăm 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 de 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 cea 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 un -j pentru bzip2.

    Gzip este mai rapid, dar comprimă în general un pic mai puțin, deci aveți un fișier ceva 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, totuși, 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ă, puteți să o extrageți cu comanda tar. Următoarea comandă va extrage conținutul arhive.tar.gz în directorul curent.

    tar -xzvf archive.tar.gz

    Este la fel ca și comanda de creare a arhivelor pe care am folosit-o mai sus, cu excepția comenzii -X comutatorul înlocuiește -c intrerupator. Acest lucru specifică că doriți să eXtractaț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 -C treceț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 arhive.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ă utilizare posibilă a comenzii tar. Comanda include un număr mare de opțiuni suplimentare, deci nu le putem lista pe toate. 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 tasta pentru a părăsi pagina de informații când ați terminat. De asemenea, puteți citi 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.