¿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?