Skip to main content

Cómo comprimir archivos usando la línea de comandos de Linux

Curso Java Acceso a BBDD. JDBC XXV Ejercicio práctico II. Vídeo 225 (Abril 2025)

Curso Java Acceso a BBDD. JDBC XXV Ejercicio práctico II. Vídeo 225 (Abril 2025)
Anonim

Hay varias formas diferentes de comprimir archivos usando la línea de comando de Linux. Este artículo incluye ejemplos prácticos que muestran cómo usar el comando zip para compactar y organizar archivos dentro de su sistema de archivos.

Los archivos comprimidos se utilizan cuando necesita ahorrar espacio y copiar archivos grandes de un lugar a otro.

Si tiene 10 archivos que tienen un tamaño de 100 megabytes y necesita transferirlos a un sitio ftp, la transferencia puede llevar un tiempo considerable dependiendo de la velocidad del procesador.

Si comprime los 10 archivos en un solo archivo comprimido y la compresión reduce el tamaño del archivo a 50 MB por archivo, solo tendrá que transferir la mitad de los datos.

Cómo crear un archivo de todos los archivos en una carpeta

Imagina que tienes una carpeta de canciones con los siguientes archivos MP3 en ella:

ACDC camino al infierno
Night Prowler.mp3
Amor hombre hambriento.mp3
Consíguelo Hot.mp3
Camina sobre ti.mp3
Carretera al infierno.mp3
Si quieres sangre lo tienes.mp3
Mostrar abajo en llamas.mp3
Toca demasiado.mp3
Golpeando alrededor del arbusto.mp3
Girls Got Rhythm.mp3

Este sencillo comando de Linux que ilustra cómo crear un archivo de todos los archivos en la carpeta actual llamada ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

El texto se desplaza hacia arriba en la pantalla mostrando los archivos a medida que se agregan.

Cómo incluir archivos ocultos en un archivo

El comando anterior está bien para archivar todos los archivos en una carpeta, pero solo incluye los archivos que no están ocultos.

No siempre es así de simple. Imagina que quieres comprimir tu carpeta de inicio para poder hacer una copia de seguridad en una unidad USB o disco duro externo. Su carpeta de inicio incluye archivos ocultos.

Para comprimir todos los archivos, incluidos los archivos ocultos en una carpeta, ejecute el siguiente comando:

zip casa *. *

Esto crea un archivo llamado home.zip con todos los archivos dentro de la carpeta de inicio.

(Debe estar en la carpeta de inicio para que esto funcione). El problema con este comando es que solo incluye los archivos en la carpeta de inicio y no las carpetas, lo que nos lleva al siguiente ejemplo.

Cómo archivar todos los archivos y subcarpetas en un archivo Zip

Para incluir todos los archivos y subcarpetas dentro de un archivo, ejecute el siguiente comando:

zip -r casa.

Cómo agregar nuevos archivos a un archivo comprimido existente

Si desea agregar nuevos archivos a un archivo existente o actualizar los archivos en un archivo, use el mismo nombre para el archivo al ejecutar el comando zip.

Por ejemplo, imagine que tiene una carpeta de música con cuatro álbumes y crea un archivo llamado music.zip para mantenerlo como respaldo. Ahora imagina que una semana después descargas dos nuevos álbumes. Para agregar los nuevos álbumes al archivo zip, simplemente ejecute el mismo comando zip que usó la semana anterior.

Para crear el archivo de música original ejecute el siguiente código:

zip -r música / inicio / tu nombre / música /

Para agregar nuevos archivos al archivo, ejecute el mismo comando nuevamente.

Si el archivo zip tiene una lista de archivos y uno de los archivos en el disco ha cambiado, entonces el archivo modificado se actualiza en el archivo zip.

Cómo actualizar los archivos existentes en un archivo comprimido

Si tiene un archivo zip que se supone que debe contener los mismos nombres de archivo cada vez y desea actualizar ese archivo con cualquier cambio que se haya realizado en esos archivos, entonces -F El interruptor te ayuda a hacer esto.

Por ejemplo, imagine que tiene un archivo comprimido con los siguientes archivos:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4
/ home / yourname / documents / file5
/ home / yourname / documents / file6

Ahora imagine que durante la semana, agregó dos archivos nuevos y modificó dos archivos para que la carpeta / home / yourname / documents ahora se vea así:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4 (actualizado)
/ home / yourname / documents / file5 (actualizado)
/ home / yourname / documents / file6
/ home / yourname / documents / file7
/ home / yourname / documents / file8

Cuando ejecute el siguiente comando, el archivo zip contendrá los archivos actualizados (archivo4 y archivo5), pero el archivo7 y el archivo8 no se agregarán.

zip nombre de archivo zip -f -r / home / yourname / documents

Cómo eliminar archivos de un archivo comprimido

Así que creó un archivo zip masivo con cientos de archivos y ahora se da cuenta de que hay cuatro o cinco archivos en el archivo zip que no necesita. Sin tener que volver a comprimir todos esos archivos, simplemente puede ejecutar el comando zip con la -re cambiar de la siguiente manera:

zip nombre de archivo zip -d nombre del archivo en el archivo

Por ejemplo, si tiene un archivo en el archivo con el nombre home / documents / test.txt, elimínelo con este comando:

zip nombre de archivo zip -d inicio / documentos / test.txt

Cómo copiar archivos de un archivo zip a otro

Si tiene archivos en un archivo zip y desea copiarlos a otro archivo zip sin extraerlos primero y volver a empaquetarlos, use la -u cambiar.

Supongamos que tiene un archivo zip llamado "variousmusic.zip" con música de varios artistas, uno de los cuales es AC / DC. Puede copiar las canciones de AC / DC del archivo variousmusic.zip en su archivo ACDC.zip usando el siguiente comando:

zip variousmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

El comando anterior copia el archivo "Back_In_Black.mp3" de variousmusic.zip a ACDC.zip.Si el archivo zip que está copiando no existe, se creará.

Cómo utilizar la concordancia de patrones y tuberías para crear un archivo

El siguiente interruptor es realmente útil porque le permite usar la salida de otros comandos para insertar archivos en su archivo zip. Supongamos que desea crear un archivo llamado lovesongs.zip, que contiene todas las canciones que tienen la palabra amor en el título.

Para encontrar los archivos con amor en el título puedes usar el siguiente comando:

encontrar / inicio / tu nombre / música -nombre * amor *

El comando anterior no es 100% perfecto porque también recoge palabras como "trébol", pero entiendes la idea. Para agregar todos los resultados devueltos del comando anterior a un archivo zip llamado lovesongs.zip, ejecute este comando:

encontrar / inicio / tu nombre / música -nombre * amor * | zip lovesongs.zip - @

Cómo crear un archivo dividido

Si está haciendo una copia de seguridad de su computadora, pero el único medio que tiene disponible para hacer una copia de seguridad es un conjunto de DVD en blanco, entonces tiene una opción. Puede mantener los archivos comprimidos hasta que el archivo zip tenga 4.8 gigabytes y grabar el DVD, o puede crear algo llamado archivo dividido que continúa creando nuevos archivos en un conjunto después de que alcance el límite que especifique.

Por ejemplo:

zip mymusic.zip -r / home / myfolder / Music -s 670m

Cómo personalizar el informe de progreso del proceso de compresión

Hay varias formas de personalizar la salida que aparece mientras se realiza el proceso de compresión.

Los interruptores disponibles son los siguientes:

  • -db = muestra cuántos bytes se han comprimido y cuántos quedan para ir
  • -dc = muestra un recuento de archivos comprimidos y cuántos quedan para ir
  • -dd = muestra puntos por cada 10MB de archivo comprimido
  • -d = establece con qué frecuencia aparecen los puntos
  • -du = muestra el tamaño sin comprimir de cada archivo

Por ejemplo:

zip myzipfilename.zip -dc -r / home / music

Cómo arreglar un archivo zip

Si tiene un archivo zip que está roto, puede intentar solucionarlo utilizando el -F comando y si eso falla, el FF mando.

Esto es útil si ha creado un archivo dividido usando el -s cambiar, y perdió uno de los archivos de almacenamiento.

Por ejemplo, prueba este primero:

zip -F myfilename.zip --out myfixedfilename.zip

y entonces

zip -FF myfilename.zip --out myfixedfilename.zip

Cómo cifrar un archivo

Si tiene información confidencial que desea almacenar en un archivo zip, use la -mi comando para cifrarlo. Se le pedirá que introduzca una contraseña y que repita la contraseña.

Por ejemplo:

zip myfilename.zip -r / home / wikileaks -e

Cómo mostrar lo que será comprimido

Si sabe que va a crear un archivo grande, asegúrese de que los archivos correctos se agregarán al archivo zip. Puede ver los resultados esperados de un comando zip especificando la -sf cambiar.

Por ejemplo:

zip nombre de archivo.zip -r / inicio / música / -sf

Cómo probar un archivo

Después de hacer una copia de seguridad de los archivos en un archivo zip, es tentador ahorrar espacio en el disco al eliminar los archivos originales. Antes de hacerlo, es una buena idea probar que el archivo zip funciona correctamente.

Puedes usar el -T cambiar para probar que el archivo zip es válido.

Por ejemplo:

zip myfilename.zip -T

La salida de este comando cuando un archivo no es válido puede tener un aspecto similar al siguiente:

  • advertencia de zip: falta la firma final, probablemente no sea un archivo zip

Recuerda que puedes probar el comando -F para reparar archivos zip rotos.

Vale la pena señalar que la -T puede producir falsos positivos, ya que dice que un archivo zip está dañado, aunque cuando lo abra, puede extraer todos los archivos.

Cómo excluir archivos

A veces desea excluir ciertos archivos de un archivo zip. Por ejemplo, si copia los archivos de su teléfono o cámara digital, tiene una mezcla de videos e imágenes. Es posible que desee comprimir las fotos en fotos.zip y los videos en videos.zip.

Aquí hay una forma de excluir los videos al crear fotos.zip

zip photos.zip -r / home / photos / -x * .mp4

Cómo especificar el nivel de compresión

Cuando comprime archivos en un archivo zip, el sistema decide si comprimir el archivo o simplemente almacenarlo. Los archivos MP3, por ejemplo, ya están comprimidos, por lo que tiene poco sentido comprimirlos aún más; por lo general se almacenan como está dentro de un archivo zip.

Sin embargo, puede especificar un nivel de compresión entre 0 y 9 para comprimir aún más un archivo. Esto lleva más tiempo, pero puede hacer un ahorro significativo de espacio.

zip myfiles.zip -r / home -5