Skip to main content

Com descomprimir fitxers amb la línia de comandaments de Linux

Anonim

La compressió de fitxers és una forma senzilla i eficaç de transferir dades entre ordinadors i servidors. Quan els fitxers es comprimeixen, no només estalvien l'espai del disc en una unitat local, sinó que també faciliten i més convenient descarregar fitxers d'Internet, utilitzant menys ample de banda que enviar arxius de mida completa.

Quan rebeu un fitxer comprimit a Linux, descomprimir-lo és tan fàcil. Hi ha molts interruptors disponibles a Linux, el que significa que teniu moltes maneres d'extreure fitxers amb el descomprimir ordre a la línia d'ordres.

Descomprimiu fitxers ZIP senzills

La sintaxi bàsica per descomprimir un fitxer és:

descomprimeix el nom del fitxer

Com a exemple, digueu que heu compilat un àlbum anomenat Amenaça a la sobrietat. Per descomprimir aquest fitxer a la carpeta actual, simplement haureu d'executar el següent comandament:

descomprimir "Amenaça a la Sobrietat"

Descomprimiu diversos fitxers ZIP

L'ordre d'home us permet descomprimir més d'un fitxer alhora mitjançant la sintaxi següent:

unzip filename1 filename2 filename3

Si heu compilat tres fitxers d'àlbums anomenats Alice Cooper Paperera, Hey Stoopid, i Dragontown, per separat, podeu provar-ho per descomprimir-los:

descomprimir "Trash.zip" "Dragontown.zip" "Hey Stoopid.zip"

Tanmateix, el que obtindreu és aquest error:

Arxiu: Trash.zip precaució: el nom del fitxer no coincideix amb: Dragontown.zip

Si suposem que els tres fitxers són en la mateixa carpeta, un mètode millor és utilitzar el següent comandament:

descomprimir '* .zip'

Tingueu cura, però. Aquesta comanda és indiscriminada i descomprimirà tots els fitxers ZIP a la carpeta actual.

Exclou alguns fitxers ZIP

Si teniu un fitxer ZIP i voleu extreure tots els fitxers, excepte un, feu servir el -x interruptor.

unzip filename.zip -x filetoexclude.zip

Per continuar amb el nostre exemple, l'àlbum "Paperera" a Trash.zip té un títol amb MP3 Bed Of Nails. Per extreure totes les cançons excepte "Bed Of Nails", fareu això:

unzip Trash.zip -x "Bed Of Nails.mp3"

Extraieu un fitxer ZIP a un directori diferent

Si voleu posar el contingut del fitxer ZIP en un directori diferent de l'actual, utilitzeu el -d interruptor.

descomprimiu filename.zip -d ruta / a / extract / to

Per exemple, per descomprimir el fitxer Trash.zip arxiu a / home / music / Alice Cooper / Trash, utilitzareu la sintaxi següent:

descomprimir Trash.zip -d "/ inici / música / Alice Cooper / Trash"

Com mostrar els continguts d'un fitxer comprimit Zip

Per enumerar els continguts d'un fitxer comprimit, utilitzeu el -l interruptor.

unzip -l filename.zip

En el nostre exemple, podríem utilitzar aquest commutador per veure tots els fitxers Trash.zip.

unzip -l Trash.zip

La informació retornada inclou:

  • Longitud en bytes
  • Data de creació
  • Temps creat
  • Nom

Com provar si un fitxer ZIP és vàlid

Per comprovar si un fitxer ZIP està estructurat correctament i es pot utilitzar correctament abans d 'extreure'l, utilitzeu el -t interruptor.

unzip -t filename.zip

Per exemple, per comprovar si Trash.zip és vàlid, podeu executar el següent:

descomprimeix -t Trash.zip

Cada fitxer apareix a la llista, i D'acord ha d'aparèixer al seu costat. A la part inferior de la sortida, apareixerà un missatge que indica no s'ha detectat cap error en les dades comprimides de ….

Veure informació detallada sobre un fitxer ZIP

El -v switch (verbose) pot donar informació més detallada.

Unzip -v nom del fitxer

Per utilitzar aquest canvi amb Trash.zip Per veure més informació, escrivim:

unzip -v Trash.zip

La sortida conté la següent informació:

  • Longitud en bytes
  • Mètode
  • Mida
  • Percentatge de compressió
  • Data i hora creada
  • CRC
  • Nom

Descomprimiu un fitxer ZIP sense fer directoris

Per als fitxers ZIP que tenen carpetes, s'executen descomprimir només, sense interruptors, tornaria a crear la mateixa estructura de carpetes de l'arxiu.

Extracció filename1.zip, per exemple, que té les tres carpetes següents, es traduiria en extreure les mateixes carpetes:

  • Carpeta 1: filea.txt, fileb.txt, filec.txt
  • Carpeta 2: arxiu.txt, fitxer.txt
  • Carpeta 3: fitxerf.txt

En aquest exemple, per extreure tots els fitxers TXT a la carpeta actual sense fer aquestes tres carpetes, només cal que s'afegeixi -j fins al final de la comanda.

unzip -j filename1.zip

Descomprimiu un fitxer ZIP sense prémer sobreescriure

Suposem que ja heu descomprimit un fitxer ZIP particular i heu començat a treballar en els fitxers descomprimits, canviant-los i actualitzant-los com vulgueu. L'últim que voleu és que aquests fitxers s'escriviu quan extregui un ZIP que tingui fitxers amb aquests mateixos noms. Vostè immediatament perdrà tot el que estava treballant quan els nous fitxers reemplacen els seus existents.

No obstant això, podeu utilitzar el -n canvieu si voleu no sobreescriure els fitxers existents. Tots els fitxers de l'arxiu ZIP que tenen un nom que coincideixi amb un fitxer de la carpeta extreta no sobreescriurà res quan s'utilitzi aquest commutador. Tanmateix, tota la resta, que tingui un nom únic, s'extreurà.

unzip -n filename.zip

Si no us importa si el fitxer ja existeix i sempre voleu sobreescriure els fitxers a mesura que s'extreuen sense preguntar-los, utilitzeu-los -o interruptor.

descomprimeix-o filename.zip

Extreu fitxers ZIP protegits per contrasenya

Si necessiteu descomprimir un fitxer que requereixi una contrasenya per accedir, utilitzeu el -p canviar seguit de la contrasenya.

descomprimiu -P contrasenya filename.zip

Per exemple, per descomprimir un fitxer anomenat cats.zip amb la contrasenya gatets123, feu servir el següent:

unzip -P kittens123 filename.zip

Descomprimiu un fitxer sense mostrar cap sortida

Per defecte, el descomprimir La llista de comandaments tot el que està fent, incloent mostrar tots els fitxers de l'arxiu, ja que l'ordre els està extreu. Podeu suprimir aquesta sortida utilitzant el -q interruptor.

unzip -q filename.zip

Això descomprimeix el nom del fitxer sense proporcionar cap sortida i us retornarà al cursor quan hagi acabat.