GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo comprimir un archivo en Linux con ejemplos sencillos {ubuntu 20.04}

En este tutorial, le daré una guía completa y todas las opciones importantes enumeradas en "Cómo comprimir un archivo en Linux". Comprimir un archivo o directorio en Linux ayuda a realizar copias de seguridad y ahorrar espacio en disco al comprimir archivos no utilizados. Estoy usando Ubuntu Linux 20.04 para mostrar todos los ejemplos en esta publicación.

¿Qué es Zip?

Zip es básicamente una utilidad de empaquetado y compresión de archivos para casi todos los sistemas operativos, ya sea Linux, Windows, Mac e incluso algunos sistemas RISC.

Siempre está instalado en todos los sistemas Linux o Unix por defecto, excepto en algunos casos. Es análogo a una combinación de dos comandos tar y comprimir .

Generalmente, el programa zip coloca uno o más archivos comprimidos en Linux en un solo archivo zip junto con metainformación sobre el archivo.

La relación de compresión de los archivos zip en Linux es de alrededor de 2:1 o 3:1, lo que es común en los archivos de texto y varía según el tipo de archivo. Un solo comando zip puede poner una estructura de directorio completa en un archivo zip.

En caso de archivos grandes de más de 4 GB , zip usa automáticamente extensión zip64 . Zip es compatible con Pkzip y Pkunzip utilidades también.

Zip ahora también es compatible con la utilidad de compresión bzip2 si la biblioteca bzip2 generalmente se compila con zip.

Descomprimir y alquitrán son dos compañeros utilidades. Descomprima, descomprima o descomprima el archivo zip y tar se utiliza para realizar copias de seguridad.

Requisito previo de la utilidad Zip

No hay ningún requisito previo especial, lo único que debe hacer es comprobar si zip está instalado en Linux o no.

Ejecute este comando. instalará la utilidad para comprimir y descomprimir si no está allí. Si ya está instalado, se actualizará o no hará nada como se muestra en la salida.

$ sudo apt install zip unzip

Muestra utilidad para comprimir y descomprimir ya está en la versión más reciente. por lo que ha terminado con la instalación de zip y descomprimir hasta este punto y está listo para explorar el mundo de Comprimir archivos y carpetas en Linux.

Si tiene una distribución de Centos o Fedora . Ejecute los comandos mencionados a continuación para instalar zip y descomprimir

$ sudo yum install zip
$ sudo yum install unzip

Explicaré cómo comprimir archivos en Linux usando dos opciones

  1. Comprima un archivo en Linux utilizando la interfaz gráfica de usuario (GUI)
  2. Comprima un archivo en Linux usando la interfaz de línea de comandos (CLI)

Veamos la primera opción -

Cómo comprimir un archivo en la GUI de Linux

Paso 1:-

Vaya al directorio donde reside el archivo o las carpetas.

Paso 2:-

Seleccione los archivos y haga clic con el botón derecho; seleccione comprimir.

Paso 3:-

Dar nombre de archivo. Daré sample-zip como ejemplo.

Paso 4:-

¡¡Ya terminaste!!

Cómo comprimir un archivo en la terminal de Linux

Primero, eche un vistazo a la Sintaxis de zip con explicación -

$ zip options "output_file_name" "target_file" "target_folder"

donde

nombre_archivo_de_salida - el nombre del archivo de salida que desea dar. extensión de cremallera se agregará automáticamente.

archivo_destino o carpeta - es la ruta del archivo o carpeta que desea comprimir y puede tener comodines.

Veamos diferentes opciones y ejemplos de Zip programa uno por uno.

Ejemplo 1:- Cómo comprimir o comprimir archivos en Linux

dev@test:~$ zip test file1 file2

salida
agregando:archivo1 (desinflado 69%)
agregando:archivo2 (desinflado 69%)
dev@test:~$ ls test*
test.zip
dev@ prueba:~$

El nombre del archivo y el porcentaje de compresión se reflejan en la salida. Como puede ver, no he incluido .zip extensión, aún por comando predeterminado, agregue eso en el nombre del archivo de salida. En mi caso "test-zip.zip ".

si quieres suprimir esta salida del comando zip, puede usar la opción -q .

dev@test:~$ zip -q test file1 file2

Salida

dev@prueba:~$ ls -ltrh prueba*
-rw-r--r-- 1 dev dev 56K 18 de junio 16:30 test.zip
dev@test:~$

Puede darse el caso, si olvidó dar el nombre del archivo de salida en zip entonces, de forma predeterminada, elegirá el primer nombre de archivo como archivo de salida y el segundo archivo en zip . Entonces, el ejemplo mencionado a continuación también muestra cómo comprimir varios archivos en Linux.

dev@test:~$ zip file1 file2

Salida
agregando:file2 (desinflado 69%)
dev@test:~$ ls -l *.zip
-rw-r--r-- 1 dev dev 28519 18 de junio 16:33 archivo1.zip

Ejemplo 2:- Cómo comprimir carpetas y subcarpetas en Linux

Por lo general, debe crear archivo zip al directorio que contiene archivos y subdirectorios. Código postal opción -r será útil para recorrer esa estructura de directorios de forma recursiva.

dev@test:~$ zip -r test sample/

Salida
agregando:muestra/ (almacenado 0%)
agregando:muestra/archivo2 (desinflado 69%)
agregando:muestra/archivo1 (desinflado 69%)
dev@test:~ $ ls muestra*
prueba.zip

Niveles de compresión en la utilidad Zip

El predeterminado el nivel de compresión del archivo zip es -6 y tienes toda la libertad de elegir un número entre 0-9. si selecciona -0 entonces no habrá compresión, significa que no comprimir archivos en Unix.

si selecciona -9 obligará al programa zip a seleccionar la mejor compresión óptima para todos los archivos o carpetas.

Ejemplo 3:- Cómo usar los niveles de compresión 0 y 9

dev@test:~$ zip -r -0 test.zip sample/

Salida
agregando:muestra/(almacenado 0%)
agregando:muestra/archivo2 (almacenado 0%)
agregando:muestra/archivo1 (almacenado 0%)

muestra la salida, si selecciono 0 como nivel de compresión, no hay ninguna compresión durante comprimir los archivos o la carpeta .

Por ejemplo -

dev@test:~$ zip -r -9 test sample/

Salida
agregando:muestra/ (almacenado 0%)
agregando:muestra/archivo2 (desinflado 69%)
agregando:muestra/archivo1 (desinflado 69%)
dev@test:~ $

si Zip encuentra que el archivo no se puede comprimir, simplemente lo archiva y almacena tal como está sin comprimir el archivo en Linux.

He hablado de bzip2 también en mi introducción zip declaración. bzip2 también se instala por defecto en todas las versiones de Linux. Si desea comprimir el archivo usando el método bzip2, puede usar -Z.

Ejemplo 4:- Cómo comprimir un archivo en Linux usando la utilidad bzip2

dev@test:~$ zip -r -Z bzip2 test.zip sample/

Salida
agregando:muestra/ (almacenado 0%)
agregando:muestra/archivo2 (bcomprimido 74%)
agregando:muestra/archivo1 (bcomprimido 74%)
dev@ prueba:~$ ls prueba.zip
prueba.zip

Si compara la salida, la relación de compresión aumentó para los mismos archivos del 69 % al 74 % con bzip2.

Por lo tanto, comprimir archivos puede resultar en más ahorro de espacio pero cambiar el nivel de compresión o usar bzip2 para ahorrar más espacio conlleva una penalización de los recursos de la CPU y llevará más tiempo comprimir en caso de una gran cantidad de archivos en Linux.

Pero definitivamente ahorrará recursos de red si planea transferirlo o enviarlo por Internet.

Comprimir y cifrar un archivo en Linux

Muchas veces necesita almacenar o necesita enviar/transferir un archivo a alguien y puede contener datos confidenciales o personales.

Para evitar el uso indebido de este archivo, siempre puede cifrar o habilitar la contraseña en el archivo de almacenamiento usando -e opción .

Ejemplo 5:- Cómo habilitar la contraseña en el archivo zip en Linux

dev@test:~$ zip -e test.zip sample/

Salida solicitando contraseña
Ingrese la contraseña:
Verifique la contraseña:
agregando:muestra/ (almacenado 0%)
dev@test:~$ ls muestra
muestra/ prueba.zip

No olvides compartir la contraseña con el destinatario, si se la vas a enviar a alguien 🙂

Cree un archivo zip dividido en Linux

Puede haber un caso en el que tenga un archivo grande para archivar y necesite dividirlo debido a los límites de almacenamiento o carga en el sitio FTP o el proveedor de alojamiento de archivos.

Puede crear un archivo zip usando la opción -s con tamaño proporcionado. El multiplicador se puede configurar como k(kilobytes), m(Megabytes), t(Terabytes).

Ejemplo 6:- Cómo crear un archivo zip dividido en Linux

Tengo un archivo zip de imagen ISO de Ubuntu 20.04 con el nombre ubuntu.zip (2.5G) y lo dividiré en archivo 1g archivos.

dev@test:~/sample$ ls -ltrh ubuntu.zip 
-rw-r--r-- 1 dev dev 2.5G Jun 18 17:51 ubuntu.zip
dev@test:~/sample$ zip -s 1g ubuntu.zip --out split
copying: ubuntu-20.04-desktop-amd64.iso
dev@test:~/sample$

Salida

dev@test:~/sample$ ls -ltrh split*
-rw-r--r-- 1 dev dev 1.0G 18 de junio 18:03 split.z02
-rw-r--r-- 1 dev dev 504M 18 de junio 18:04 split.zip
-rw-r--r-- 1 dev dev 1.0G 18 de junio 18:04 split.z01

Eche un vistazo a split.zip, split.z01 y split.z02

Ahora, cuando haya dividido el archivo usando zip y estará pensando en unirlo en el objetivo. No te preocupes, no dejaré que te rasques la cabeza.

Ejemplo 7:- Cómo agregar o combinar un archivo zip dividido en Linux

Vaya al directorio donde guardó los archivos divididos

dev@test:~/sample$ ls -ltrh split*

Salida
-rw-r--r-- 1 dev dev 1.0G 18 de junio 18:03 split.z02
-rw-r--r-- 1 dev dev 504M 18 de junio 18:04 split. zip
-rw-r--r-- 1 dev dev 1.0G 18 de junio 18:04 split.z01

Únete ahora a archivos zip divididos.

dev@test:~/sample$ cat split.z* > join.zip

Validar el tamaño en la salida

dev@test:~/sample$ ls -ltrh join.zip
-rw-r--r-- 1 dev dev 2.5G 18 de junio 18:13 join.zip

Ejemplo 8:- Cómo actualizar un archivo zip en Linux

supongamos que olvidó agregar un archivo en un zip o desea agregar más archivos al zip existente, entonces -u opción puede ayudar. En este ejemplo, agregaré file4 al test.zip existente archivo.

dev@test:~$ zip -u test.zip file4

Salida
agregando:file4 (desinflado 69%)

Ejemplo 9:- Cómo excluir un archivo de un archivo zip en Linux

Un escenario en el que tiene muchos archivos en un directorio y desea excluir algunos archivos del archivado zip. Opción -x es el salvador aquí.

Actualmente, tengo tres archivos en el directorio de muestra

dev@test:~$ ls -ltrh sample/

total 264K
-rw-r--r-- 1 dev dev 88K 17 de junio 21:51 file1
-rw-r--r-- 1 dev dev 88K 17 de junio 23:21 file2
-rw-r--r-- 1 dev dev 88K 18 de junio 18:20 file3

excluyamos file3 , solo 2 archivos archivados.

dev@test:~/sample$ zip test.zip * -x file3

Salida
agregando:archivo1 (69% reducido)
agregando:archivo2 (69% reducido)
dev@test:~/sample$

Ejemplo 10:-  Modo detallado al comprimir archivos en Linux

si quieres ver el progreso, opción -v conocida como información detallada o de versión de diagnóstico, puede ser útil, especialmente cuando se trabaja con una gran cantidad de archivos.

dev@test:~$ zip -v -r test.zip sample/

Salida
agregando:muestra/ (entrada=0) (salida=0) (almacenado 0%)
agregando:muestra/archivo3 (entrada=90082) (salida=28359) (desinflado 69%)
añadiendo:muestra/archivo2 (entrada=90082) (salida=28359) (desinflado 69%)
añadiendo:muestra/archivo1 (entrada=90082) (salida=28359) (desinflado 69%)
total bytes=270246, comprimido=85077 -> 69 % de ahorro
dev@test:~$

Ejemplo 11:-  Trabajar con comodines para comprimir archivos en Linux

El comodín más utilizado es un asterisco (*) en este mundo, en mi opinión, la utilidad Zip admite este útil carácter comodín. No es necesario escribir todos y cada uno de los nombres de archivo.

dev@test:~/sample$ zip file.zip file*

Salida
agregando:archivo1 (69% desinflado)
agregando:archivo2 (69% desinflado)
agregando:archivo3 (69% desinflado%)
dev@test:~/sample$

Algunos problemas comunes y códigos de error durante la compresión en Linux

Estado                                    salida

             0    normales; no se detectaron errores ni advertencias , significa archivado hecho

             2    final inesperado del archivo zip en Unix .

            11                                      error de lectura o búsqueda, No se puede leer el archivo

            12                                      zip no tiene nada que ver, Falta alguna acción

            13                                      archivo zip faltante o vacío

            14                                       error al escribir en un archivo

Tutorial en vídeo

Para que sea más fácil "cómo comprimir un archivo en Linux" para principiantes, también he creado un video. Mire, dele me gusta y comparta, si lo encontró útil.
Ubuntu
  1. Backendexception:No se pudo inicializar el backend:¿No hay un módulo llamado Gi.repository?

  2. Cómo instalar Steam en Ubuntu 18.04 LTS

  3. ¿Cómo leer páginas man en el idioma nativo?

  4. Cómo configurar Opencart con LAMP (PHP, Apache, Mariadb) en Ubuntu 20.04

  5. ¿Lubuntu 16.04 instalado, luego se cuelga?

Cambiando a virt-manager

Cómo hacer una solicitud POST con cURL

Configurar el servidor BMC para que funcione con un nuevo bloque de IP públicas

Cómo revisar la ortografía en la línea de comandos de Linux con Aspell

Cómo compilar paquetes Debian desde el código fuente

Cómo eliminar las reglas del firewall UFW en Ubuntu 20.04 Focal Fossa Linux