GNU/Linux >> Tutoriales Linux >  >> Linux

Aprenda a comprimir y descomprimir archivos en Linux y sea un maestro Zip

¿Alguna vez te has preguntado cómo descomprimir archivos en Linux? ¿O cómo crear y extraer un archivo zip? Entonces este tutorial es todo lo que necesita para administrar sus archivos zip de manera efectiva.

Comprimir es una de las mejores y más populares técnicas para comprimir archivos reduciendo su tamaño sin perder calidad. Y en este tutorial, aprenderá cómo comprimir y descomprimir archivos zip en Linux, junto con otros consejos y trucos. ¿Listo?

¡Sumérgete y te convertirás en un "maestro zip" al final de este tutorial!

Requisitos

Si es un profesional de TI que tiene problemas con demasiadas solicitudes de restablecimiento de contraseña en Active Directory, consulte Specops uReset, una solución SSPR segura.

Las demostraciones a lo largo de este tutorial se realizaron en Kali Linux 2021.2. Aún así, también podría trabajar con otras distribuciones de Linux, como las basadas en Debian (como Unbuntu o Kali Linux), CentOS o Fedora.

Instalación de los paquetes Zip y Unzip

Para comprimir y descomprimir en archivos ZIP con Linux, necesitará un par de paquetes llamados zip y unzip. Veamos ahora cómo instalar estos paquetes con el administrador de paquetes apt.

Para instalar los paquetes comprimidos y descomprimidos, inicie primero el terminal en su escritorio y ejecute los comandos a continuación según las distribuciones de Linux en las que esté trabajando.

Cada uno de los siguientes comandos comienza con el sudo comando para manejar permisos elevados.

Para Debian

Los siguientes comandos usan el apt administrador de paquetes a install el zip y unzip paquetes.

sudo apt install zip   # Installs the zip package
sudo apt install unzip # Installs the unzip package

Para Fedora y CentOS

Los siguientes comandos usan el yum herramienta de administración de paquetes a install el zip y unzip paquetes.

sudo yum install zip   # Installs the zip package
sudo yum install unzip # Installs the unzip package

Comprimir archivos con el paquete Zip

Ahora que ha instalado todos los paquetes necesarios, es hora de aprender a comprimir archivos. Para hacerlo, ejecutará el zip comando, que le permite comprimir archivos en paquetes ZIP, tanto a través de la línea de comandos como a través de la GUI. ¡Repasemos cada método!

Comprimir archivos a través de la línea de comandos

En Linux, normalmente usará bastante la línea de comandos, así que primero veamos cómo comprimir archivos a través de la línea de comandos.

Observe la sintaxis del comando a continuación. Verás que después del zip comando, outpufile representa el nombre del archivo zip. Luego, seguido del nombre de los archivos y la carpeta (file1 file2 folder ) para incluir en el archivo zip.

zip [option] outputfile file1 file2 folder

Para demostrar cómo comprimir archivos en la línea de comandos, abra primero una terminal y cree un directorio llamado ~/mydir . Luego cree dos archivos y una carpeta llamada test1, test2 y myfolder dentro de ~/mydir .

1. Ejecute el mkdir comando a continuación para crear el mydir directorio.

mkdir mydir

2. Los siguientes comandos crean (touch ) el test1.txt y test2.txt archivos Luego crea (mkdir ) el myfolder directorio.

touch ~/mydir/test1.txt
touch ~/mydir/test2.txt
mkdir myfolder

3. Ejecute el siguiente comando para listar (ls ) el contenido del directorio de trabajo (~/mydir ), como se muestra a continuación.

Ahora que ha creado los archivos y carpetas, comprima ~/mydir carpeta ejecutando el siguiente comando.

El zip El siguiente comando es recursivo (-r ) buscando a través del mydir directorio para todos los archivos y subdirectorios. Cuando se completa, comprime todos esos archivos en un archivo ZIP llamado newdir.zip .

zip -r newdir.zip mydir

Tal vez solo planee comprimir ~/mydir/test1.txt, ~/mydir/test2.txt y ~/mydir/myfolder directorios. Para hacerlo, ejecute el siguiente comando.

El zip El siguiente comando es recursivo (-r ) buscando todos los archivos y carpetas en el directorio de trabajo (mydir ) llamado test1.txt , test2.txt y myfolder y creando un archivo ZIP llamado newfiles.zip .

cd mydir
zip -r newfiles test1.txt test2.txt myfolder

Agregar la extensión .zip para el archivo zip es opcional, ya que se agrega automáticamente una vez que se completa la compresión. En el ejemplo anterior, el comando zip creará un archivo ZIP llamado newfiles.zip en lugar de solo newfiles.

Eliminación del archivo original después de archivar

En la sección anterior, aprendió cómo comprimir archivos en un archivo ZIP, pero habrá notado que los archivos originales no se eliminaron después de hacerlo. Agrega el -m opción en el comando zip para eliminar los archivos originales, como se muestra a continuación.

Después de crear el archivo ZIP, inicie una terminal, luego ejecute el siguiente comando para eliminar los archivos originales automáticamente. El zip El siguiente comando comprime los archivos y la carpeta llamada test1.txt , test2.txt y myfolder al newsfiles.zip ZIP, luego elimina (-m ) los archivos originales.

Después de ejecutar el comando, notará que el comando zip elimina los archivos originales.

zip -m -r newfiles.zip test1.txt test2.txt myfolder

Agregar nuevos archivos a un archivo zip existente

Tal vez olvidó incluir un archivo al comprimir archivos en un archivo ZIP. ¿Cómo agregaría un nuevo archivo a un archivo zip existente? Podría eliminar el archivo zip y crear otro, pero hay una mejor manera.

Para agregar un nuevo archivo al archivo ZIP existente (newfiles.zip ), ejecute el siguiente comando. El siguiente comando actualiza (-u ) el paquete de archivos ZIP existente (newfiles.zip ) recursivamente (-r ) buscando en todos los archivos en ~/mydir y luego agregarlos al paquete ZIP.

zip -u -r newfiles.zip test3

Eliminación de archivos de un archivo zip

Anteriormente aprendió cómo agregar archivos a archivos comprimidos existentes. Pero, ¿qué sucede si agrega un archivo sin querer a un archivo zip? Obviamente, querrá eliminar ese archivo del archivo zip y agregar el -d opción al zip el comando haría el truco.

Para eliminar un archivo del archivo ZIP, ejecute el zip borrado de comando (-d ) el test3 archivo desde el (newfiles.zip ) archivo ZIP.

zip -d newfiles.zip test3

Comprimir archivos mediante GUI

A estas alturas, ha aprendido a comprimir archivos usando la línea de comandos. Pero si te sientes más cómodo trabajando con una interfaz gráfica, estás de suerte. El entorno GNU Network Object Model Environment (GNOME) le permite crear un archivo zip con unos pocos clics. GNOME es una GUI de escritorio sobre su sistema operativo. Entonces, ¡comencemos!

1. Cambie al entorno GNOME, luego abra el administrador de archivos.

2. Busque los archivos para comprimir navegando dentro de ~/mydir directorio.

3. Para crear el paquete ZIP, seleccione todos los archivos para comprimir, luego haga clic derecho en cualquiera de los archivos y seleccione Comprimir del menú contextual.

Ahora elija el formato para el archivo comprimido en la ventana emergente a continuación. Tenga en cuenta que hay tres opciones de formato, .zip, .tar.xz y .7z. Estos formatos son todos formatos de compresión.

Dado que está creando un archivo zip, seleccione .zip opción. Luego cree el archivo zip dándole un nombre (nuevos archivos ), y haga clic en Crear .

El archivo zip se crea automáticamente dentro de la carpeta ~/mydir, donde se encuentran los archivos que está comprimiendo.

Notará a continuación que Linux crea un archivo llamado newfiles.zip de los que usted seleccionó.

Descomprimir archivos con el paquete Descomprimir

En los ejemplos anteriores, ha aprendido a comprimir archivos. Pero tal vez necesite extraer o descomprimir el contenido del archivo zip. ¿Cómo harías eso?

Similar a la compresión de archivos, obtiene dos métodos para descomprimir archivos, a través de la línea de comandos y la GUI. Ambos métodos aprovechan el paquete de descompresión que instaló previamente para descomprimir archivos ZIP.

Descomprimir archivos a través de la línea de comandos

Dado que seguirá ejecutando comandos en un entorno de línea de comandos a lo largo de este tutorial, comencemos a descomprimir archivos a través del método de línea de comandos.

Para descomprimir un archivo ZIP, inicie su terminal y ejecute el siguiente comando. Observe que el siguiente comando será unzip el contenido del (newdir.zip ) Archivo zip. De forma predeterminada, los contenidos se extraen al mismo directorio (~/mydir ) del (newdir.zip ) archivo ZIP.

Si desea descomprimir el contenido de un archivo ZIP en un directorio que no sea el directorio de trabajo, especifique el -d seguido del directorio para extraer el contenido del archivo ZIP como:unzip nuevodir.zip -d otrodir.

unzip newdir.zip

Descomprimir archivos a través de GUI

Si descomprimir archivos a través de la línea de comandos parece mucho trabajo, intente descomprimir archivos con unos pocos clics con el método GUI. Y similar al método de línea de comandos, también podría elegir dónde extraer los archivos.

Para descomprimir archivos, abra el Administrador de archivos, como se explica en Comprimir archivos a través de GUI sección. Haz clic derecho en el paquete ZIP que deseas extraer y selecciona Extraer aquí , como se muestra a continuación.

Una vez que haga clic en Extraer aquí , Linux extraerá todos los archivos del paquete ZIP en el directorio de trabajo.

Si prefiere extraer todos los archivos en otro directorio, seleccione Extraer a opción del menú contextual.

Verificación de la integridad del archivo zip

En algunos casos, los archivos ZIP pueden dañarse, como descargar el archivo ZIP de Internet. O cuando el archivo ZIP se transfirió a un dispositivo de almacenamiento dañado. Es posible que no sepa que están corruptos en la superficie, por lo que es importante verificar su integridad.

Para verificar la integridad del archivo zip, ejecute el siguiente comando. El zip comando a continuación recursivamente (-r ) busca en el directorio de trabajo el (newfiles.zip ) zip, luego verifica (-T ) si está en buenas condiciones.

El siguiente comando solo verifica la integridad del archivo ZIP, pero no los archivos y subdirectorios que contiene.

zip -r -T newfiles

Como se muestra a continuación, verá una indicación de que la prueba fue exitosa.

Probar los archivos comprimidos antes de extraerlos

Extraer un archivo ZIP con archivos corruptos solo perdería tiempo y generaría errores, especialmente cuando se trata de un archivo zip grande con varios archivos. Por lo tanto, es una buena idea probar los archivos comprimidos en el archivo ZIP antes de extraerlos.

Probar los archivos comprimidos es similar a verificar la integridad del archivo ZIP, pero esta vez está probando cada archivo dentro del archivo ZIP y no solo el archivo ZIP en sí.

Ahora, ejecuta el unzip comando para probar (-t ) el estado de cada archivo dentro del (newdir.zip ) archivo comprimido.

unzip -t newdir.zip

Como puede ver en la imagen a continuación, el paquete de descompresión no encontró errores.

Visualización del contenido del archivo zip sin extraerlo

Tal vez prefiera simplemente ver lo que hay dentro del archivo ZIP en lugar de extraer los archivos. Por suerte para ti, el unzip el comando tiene el -l opción que muestra el contenido de un archivo zip sin extraerlo.

Para ver el contenido de un archivo ZIP, ejecute el unzip comando para listar (-l ) el archivo zip (newdir.zip ) contenidos sin extraerlos.

unzip -l newdir.zip

Observe la captura de pantalla a continuación que muestra una lista de tabla de los contenidos dentro del (newdir.zip ) archivo ZIP.

Comprimir archivos con la misma extensión de archivo

Para demostrar cómo crear secuencias de comandos en algunos casos de uso comunes con la utilidad zip, tal vez tenga un directorio con muchos archivos diferentes pero solo necesite comprimir aquellos que coincidan con una extensión específica. Para hacerlo, necesita un script que busque repetidamente todos los archivos con la misma extensión. Cuando los encuentra, los agrega a un archivo zip.

Veamos qué hace el siguiente script y cómo ejecutarlo.

El siguiente script declara una variable (files ) para contener el valor de la extensión del archivo (*.txt ), luego otra variable (targetDir ) para el directorio de destino (anotherDir ).

El script luego ejecuta un for función de bucle para buscar todos los archivos con .txt (files ) extensión dentro del directorio de destino (anotherDir ). Cuando un .txt se encuentra el archivo, el zip el comando agrega (-u ) ese archivo al (mynewfiles.zip ) Archivo zip. ¿Listo para automatizar la compresión de archivos?

1. Abra un editor de texto y guarde el script con .sh extensión (por ejemplo:script.sh ), que es la extensión de los archivos escritos con el lenguaje de programación shell.

files=*.txt # Declare variable to hold the .txt extension
 targetDir=anotherDir # Declare variable to hold the target directory
 for file in $files; do # Searches all files with .txt extension
     zip -u $targetDir/mynewfiles $file # Adds found .txt files to mynewfiles.zip file
 done

2. Asegúrese de que puede ejecutar el script modificando su permiso. Para hacer eso, ejecute el chmod comando para modificar (+x ) el script (script.sh ) permiso de ejecución.

chmod +x script.sh

3. Ahora ejecute el script ejecutando el siguiente comando. El siguiente comando ejecuta el script (script.sh ) siempre que el script esté dentro del directorio de trabajo actual.

./script.sh

Como notará, hay un mensaje de advertencia que le indica que ~/mynewfiles.zip no existe. Pero no se preocupe, ya que la secuencia de comandos creará automáticamente el archivo zip.

Conclusión

Si es un profesional de TI que tiene problemas con demasiadas solicitudes de restablecimiento de contraseña en Active Directory, consulte Specops uReset, una solución SSPR segura.

A lo largo de este tutorial, aprendió cómo administrar archivos zip (comprimir y descomprimir) y un ejemplo práctico de cómo automatizar el proceso de comprimir archivos. Como te prometí, ¡ahora eres un "maestro zip"!

Ahora, ¿recurriría a procesos manuales o automatizados la próxima vez que comprima?


Linux
  1. Cómo comprimir archivos y directorios en Linux (con ejemplos)

  2. Cómo archivar archivos y directorios en Linux [Parte 2]

  3. ¿Cómo comprimir/descomprimir archivos/carpetas en Centos?

  4. Trabajar con archivos ZIP en Linux

  5. Cómo instalar el paquete zip/unzip en Linux CentOS/RHEL 7 y 8

Cómo descomprimir archivos zip en Linux

Cómo comprimir archivos y carpetas en Linux [Consejo para principiantes]

Cómo instalar Zip y Unzip en Linux

Cómo comprimir y descomprimir archivos en Ubuntu Linux:una guía definitiva

Cómo comprimir archivos y carpetas en Linux

Cómo comprimir un archivo en Linux