¿Cómo puedo crear y extraer archivos zip desde la línea de comandos?
command-line
zip
joachim
fuente
fuente
Respuestas:
Típicamente se utiliza
tar
para crear un archivo sin comprimir y, o biengzip
obzip2
para comprimir ese archivo. El correspondientegunzip
ybunzip2
los comandos pueden ser utilizados para descomprimir dicho archivo, o simplemente puede usar banderas en eltar
comando para realizar la descompresión.Si se refiere específicamente al formato de archivo Zip , simplemente puede usar los comandos
zip
yunzip
.Para comprimir:
o comprimir un directorio
Para descomprimir:
esto lo descomprime en su directorio de trabajo actual.
fuente
zip -r9 archive.zip files...
sintaxis (-r = recursiva -9 = compresión máxima).zip
puede crear muchos sabores diferentes de archivos .ZIP, así como usar muchos compresores diferentes. Por otro lado, hay una serie de otras herramientas de compresión con nombres similares: 7-Zip, gzip, bzip2, rzip, etc., que no son intercambiables.cd dir1; zip -r ../squash.zip *
unzip -d myfolder squash.zip
para extraer en un nuevo directorio separado (myfolder
) en lugar de colocar todos los archivos directamente en el directorio actual, lo que puede ser molesto si el archivo zip contiene muchos archivos y directorios en su nivel superior. Esto imita cómo funciona la mayoría de las herramientas de descompresión de UI.Hay una gran cantidad de formas diferentes de comprimir y descomprimir en derivados de UNIX, por lo que supondré que querías decir "zip" en el sentido genérico en lugar de un formato de archivo específico .
Puede comprimir archivos (en formato comprimido) con el
tar
programa GNU :que hará el directorio actual. Reemplace
.
con otros nombres de archivo si desea algo más.Para descomprimir ese archivo, use:
Eso supone, por supuesto, que tiene la
tar
capacidad de hacer la compresión y combinar archivos en uno.De lo contrario, puede usar
tar cvf
seguido degzip
(nuevamente, si está disponible) para la compresión ygunzip
seguido detar xvf
.Para el manejo específico de archivos en formato ZIP, recomendaría descargar
7zip
y usar eso: reconoce una gran variedad de formatos de archivo, incluido el ZIP.fuente
tar jcvf file.tar.bz2...
para comprimir en formato bzip2 otar Jcvf file.tar.xz ...
para compresión xz.Si no tiene instalados paquetes zip y descomprimir y tiene java, puede usar
jar
para descomprimir:fuente
Bueno, cuando se trata de distribuir archivos para una variedad de sistemas operativos, recomendaría 7-zip .
Por lo general, en el paquete
p7zip
, obtendrá el comando7z
y7za
, con el que puede crear sus propios archivos 7z.7za
también puede descomprimir archivos zip estándar ( pkzip ) (y crearlos también con el-tzip
interruptor).Apresamiento:
Descomprimiendo:
También puede crear archivos autoextraíbles con el
-sfx
interruptor:Recomiendo este método en caso de que los usuarios de Windows no puedan abrir archivos 7z (en caso de que desee aconsejar una herramienta para eso: PeaZip ).
Si desea usar el mismo algoritmo de compresión con sus tarballs, use el
-J
interruptor contar
:xz
es una herramienta UNIX, que utiliza LZMA2 para la compresión, pero funciona de la formagz
,bz2
etc funciona. Incluso funciona como un filtro.7z no crea archivos con información completa del sistema de archivos en UNIX, por lo que deberá usarlo
tar
antes de usar 7z (pero dado que 7z almacena otra información sobre eltar
archivo, recomiendo usarloxz
, ya que está diseñado para ello):fuente
atool
, es una pequeña herramienta agradable que hace que el uso de muchos compresores diferentes sea más cómodo. Asociar esoa
y crear un archivo se conviertea arc.7z folder/
o extraer un simplea arc.7z
y
Deberá asegurarse de que estos comandos estén instalados a través de su administrador de paquetes. No es más difícil que usar cualquier otra cosa en la línea de comando. Ciertamente es más simple que crear archivos con tar.
fuente
BSD Tar también puede hacer esto
O:
fuente
tar
tiene la ventaja de admitir bastantes formatos de compresión adicionales en comparación con GNUtar
y otrostar
s. El mayor beneficio es, tal vez, que lo hace mientras usa unatar
sintaxis similar . Seguramente se puede utilizar7z
,unrar
,unzip
, etc desde la línea de comandos, pero usar una diferente sintaxis.La respuesta más estándar es
pax
, que se recomienda sobrecpio
ytar
.A diferencia de
cpio
POSIXtar
, pero al igual que GNUtar
,pax
puede archivar y comprimir el archivo. Este comportamiento es diferente delzip
que comprime cada archivo antes de colocarlo en el archivo.fuente
pax
Soporta archivos zip?pax
archivos!Esto cubre solo la extracción.
Para eso, comencé a usar
dtrx
.El objetivo es eliminar la complejidad. Así que simplemente le pasa cualquier archivo y se da cuenta de lo que hay que hacer con él. Zip, tar, gz ... El uso es siempre el mismo -
dtrx archive.zip
. Hace algunas preguntas y ya está.dtrx
está disponible en la mayoría de los repositorios, por lo que puedeapt
|yum
instalarlo.fuente
A menudo me encuentro tratando de comprimir los archivos modificados en mi directorio de trabajo, ya sea para copiar todos los archivos modificados a otro directorio de trabajo de sandbox o para preservarlos por un corto tiempo porque quiero deshacer algunos de los cambios.
En ese caso, copio la lista de archivos modificados a un archivo temporal y lo uso
zip
con la opción-@
.Digamos que modifiqué los archivos Foo.h, Bar.cc y TestBar.cc.
Digamos que creo un archivo llamado modified-files.txt cuyo contenido es:
Ejecuto el siguiente comando para comprimir esos archivos:
fuente