Com extreure fitxers d'un fitxer .tar.gz o .tar.bz2 a Linux

Els fitxers tar són arxius comprimits. Els trobareu sovint mentre utilitzeu una distribució Linux com Ubuntu o fins i tot mentre utilitzeu el terminal a macOS. A continuació, s’explica com extreure o eliminar el contingut d’un fitxer tar, també conegut com a tarball.

Què signifiquen .tar.gz i .tar.bz2?

Fitxers que tenen un fitxer .tar.gz o a .tar.bz2 extensions són fitxers d’arxiu comprimits. Un fitxer amb només un fitxer .tar l’extensió no es comprimeix, però seran molt rares.

El .tar part de l'extensió de fitxer significa tsimi archive, i és el motiu pel qual aquests dos tipus de fitxers s’anomenen fitxers tar. Els fitxers de tar es remunten al 1979, quan el fitxer quitrà es va crear l'ordre per permetre als administradors del sistema arxivar fitxers a la cinta. Quaranta anys després encara estem utilitzant el quitrà ordre per extreure fitxers tar als nostres discs durs. Probablement algú en algun lloc segueix utilitzant quitrà amb cinta adhesiva.

El.gz o bé .bz2 El sufix d'extensió indica que s'ha comprimit l'arxiu, fent servir el fitxer gzip o bé bzip2 algorisme de compressió. El quitrà La comanda funcionarà bé amb els dos tipus de fitxers, de manera que no importa quin mètode de compressió s'hagi utilitzat, i hauria d'estar disponible a qualsevol lloc que tingueu un intèrpret d'ordres Bash. Només cal que utilitzeu l’adequat quitrà opcions de línia d'ordres.

Extracció de fitxers de fitxers Tar

Suposem que heu baixat dos fitxers de partitures. Es diu un fitxer ukulele_songs.tar.gz , l’altra es diu guitar_songs.tar.bz2. Aquests fitxers es troben al directori de descàrregues.

Extreguem les cançons de l'ukelele:

tar -xvzf ukulele_songs.tar.gz 

A mesura que s’extreuen els fitxers, es mostren a la finestra del terminal.

Les opcions de línia d'ordres que hem utilitzat són:

  • -x: Extreure i recuperar els fitxers del fitxer tar.
  • -v: Detallat, llista els fitxers a mesura que s’extreuen.
  • -z: Gzip, utilitzeu gzip per descomprimir el fitxer tar.
  • -f: Fitxer, el nom del fitxer tar que volem quitrà per treballar. Aquesta opció ha d'anar seguida del nom del fitxer tar.

Enumereu els fitxers del directori amb ls i veureu que s’ha creat un directori anomenat Ukulele Songs. Els fitxers extrets es troben en aquest directori. D’on va sortir aquest directori? Va ser contingut al quitrà i es va extreure juntament amb els fitxers.

Ara traiem les cançons de guitarra. Per fer-ho, utilitzarem gairebé exactament la mateixa comanda que abans, però amb una diferència important. El .bz2 El sufix d’extensió ens indica que s’ha comprimit mitjançant l’ordre bzip2. En lloc d'utilitzar el fitxer-z (gzip), utilitzarem l'opció -j (bzip2) opció.

tar -xvjf guitar_songs.tar.bz2

Una vegada més, els fitxers es mostren al terminal a mesura que s’extreuen. Per ser clars, les opcions de línia d'ordres que hem utilitzat quitrà per al .tar.bz2 arxiu eren:

  • -x: Extreure i recuperar els fitxers del fitxer tar.
  • -v: Detallat, llista els fitxers a mesura que s’extreuen.
  • -j: Bzip2, utilitzeu bzip2 per descomprimir el fitxer tar.
  • -f: Fitxer, nom del fitxer tar amb el qual volem que funcioni tar.

Si llistem els fitxers al directori de baixades, veurem que s’ha creat un altre directori anomenat Guitar Songs.

Triar on extreure els fitxers

Si volem extreure els fitxers a una ubicació diferent del directori actual, podem especificar un directori de destinació mitjançant -C (directori especificat) opció.

tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs /

Mirant al nostre directori Documents / Songs, veurem que s’ha creat el directori Guitar Songs.

Tingueu en compte que el directori de destinació ja ha d’existir, quitrà no el crearà si no hi és present. Si necessiteu crear un directori i tenir quitrà extreu-hi els fitxers tot en una sola ordre, podeu fer-ho de la següent manera:

mkdir -p ~ / Documents / Cançons / Descarregades && tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Cançons / Descarregades /

El -p causes de l'opció (pares) mkdir per crear els directoris pares que siguin necessaris, assegurant-se que es crea el directori de destinació.

Mirant els fitxers de quitrà abans d'extreure'ls

Fins ara acabem de fer un salt de fe i hem extret els arxius que no es veuen. És possible que vulgueu mirar abans de saltar. Podeu revisar el contingut d'un fitxer quitrà abans d'extreure'l mitjançant el fitxer -t (llista) opció. Normalment és convenient passar la sortida a través del fitxer menys comandament.

tar -tf ukulele_songs.tar.gz | menys

Tingueu en compte que no necessitem utilitzar el -z opció per llistar els fitxers. Només ens cal afegir el fitxer -z opció quan estem extracció fitxers d'un fitxer .tar.gz dossier. De la mateixa manera, no necessitem el -j opció per llistar els fitxers en un fitxer tar.bz2 dossier.

Desplaçant-nos per la sortida podem veure que tot el fitxer tar es troba dins d’un directori anomenat Ukulele Songs i, dins d’aquest directori, hi ha fitxers i altres directoris.

Podem veure que el directori Ukulele Songs conté directoris anomenats Random Songs, Ramones and Possibles.

Per extreure tots els fitxers d'un directori d'un fitxer tar, utilitzeu l'ordre següent. Tingueu en compte que el camí està envoltat de cometes perquè hi ha espais al camí.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs / Ramones /"

Per extreure un sol fitxer, proporcioneu la ruta i el nom del fitxer.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs / 023 - My Babe.odt"

Podeu extreure una selecció de fitxers mitjançant comodins, on * representa qualsevol cadena de caràcters i ? representa qualsevol personatge. L’ús de comodins requereix l’ús del fitxer - targetes salvatges opció.

tar -xvz --wildcards -f ukulele_songs.tar.gz "Cançons / Possibles / B * de l'ukulele"

Extreure fitxers sense extreure directoris

Si no voleu que l’estructura de directoris del fitxer tar es recrea al disc dur, utilitzeu --strip-components opció. El --strip-components L'opció requereix un paràmetre numèric. El nombre representa quants nivells de directoris s’ha d’ignorar. Els fitxers dels directoris ignorats encara s’extreuen, però l’estructura de directoris no es replica al disc dur.

Si especifiquem --strip-components = 1 amb el nostre fitxer tar d’exemple, el directori de la part superior de les cançons d’Ukulele del fitxer tar no es crea al disc dur. Els fitxers i directoris que s'haurien extret a aquest directori s'extreuen al directori de destinació.

tar -xvzf ukulele_songs.tar.gz --strip-components = 1

Només hi ha dos nivells de nidificació de directoris dins del nostre fitxer tar d’exemple. Així que si fem servir --strip-components = 2, tots els fitxers s'extreuen al directori de destinació i no es creen cap altre directori.

tar -xvzf ukulele_songs.tar.gz --strip-components = 2

Si mireu la pàgina manual de Linux, ho veureu quitrà ha de ser un bon candidat al títol d '"ordre amb més opcions de línia d'ordres". Afortunadament, per permetre’ns extreure fitxers de .tar.gz i tar.bz2 fitxers amb un bon grau de control granular, només hem de recordar un grapat d’aquestes opcions.


$config[zx-auto] not found$config[zx-overlay] not found