En este tutorial, nos basamos en el zip y descomprimir comandos y cómo se utilizan en Linux. Zip es un comando que se utiliza para crear un archivo comprimido o un archivo comprimido. Esto le permite comprimir sus archivos y crear más espacio para otros archivos en su disco duro o unidad extraíble. Además, comprimir sus archivos/directorios los hace más portátiles y más fáciles de cargar, descargar o incluso adjuntar y enviar por correo electrónico. Lo opuesto a comprimir es descomprimir, y aquí usamos el comando descomprimir para descomprimir los archivos y acceder a ellos individualmente.
Antes de comenzar a discutir el comando zip y descomprimir, veamos cómo se pueden instalar estos comandos desde la línea de comandos,
Instale el comando zip &unzip en Ubuntu / Debian / Linux Mint
Abra la terminal y ejecute el siguiente comando apt,
$ sudo apt install -y zip unzip or $ sudo apt-get install -y zip unzip
Instalar el comando comprimir y descomprimir en CentOS/RHEL/Fedora
Abra la terminal y ejecute el siguiente comando,
$ sudo yum install -y zip unzip or $ sudo dnf install -y zip unzip
Profundicemos y veamos cómo comprimir y descomprimir archivos y directorios en Linux con el comando comprimir y descomprimir con ejemplos.
Comando zip en Linux
Comprimir un archivo es tan fácil como ABC. La sintaxis es bastante sencilla:
$ zip OPCIONES archive.zip file
Algunos puntos a tener en cuenta antes de continuar:
- Necesita tener permisos de escritura en el archivo que está comprimiendo y la ubicación del directorio antes de comprimir un archivo.
- Cuando descomprime o extrae un archivo, el usuario posee el archivo/directorio.
Ejemplo 1) Comprimir un solo archivo y varios archivos con el comando zip
Supongamos que tiene un archivo de texto, informes1.txt, en su directorio actual y desea comprimirlo en un archivo llamado informes.zip.
El comando para esta operación será:
$ zip reports.zip reports1.txt
Además, puede comprimir varios archivos a la vez en un archivo como se muestra:
$ archivo zip.zip archivo1 archivo2 archivo3
Nuevamente, supongamos que tenemos 3 archivos de texto reportes1.txt, reportes2.txt y reportes3.txt. Para comprimirlos en el archivo de informes.zip, ejecute el comando:
$ zip reports.zip reports1.txt reports2.txt reports3.txt
Ejemplo 2) Agregar un archivo a un archivo zip (-u)
A veces, puede encontrar la necesidad de agregar un archivo a un archivo zip. Para hacerlo, use el indicador -u. Por ejemplo, para agregar otro archivo, informes4.txt, ejecute:
$ zip -u reports.zip report4.txt
Ejemplo 3) Ver el contenido de un archivo comprimido
Para ver el contenido de un archivo comprimido, use el comando como se muestra:
$ zipinfo archive.zip
Ejemplo 4) Comprimir todos los archivos en el directorio actual (* )
Si tiene varios archivos en su directorio actual, puede comprimirlos todos de una vez usando el símbolo de comodín como se muestra en la siguiente sintaxis:
$ archivo zip.zip *
Por ejemplo, para comprimir todos los archivos del directorio de inicio en un archivo home.zip, ejecute el siguiente comando. Asegúrese de estar trabajando en el directorio de inicio.
$ zip home.zip *
Ejemplo 5) Eliminar un archivo de un archivo (-d)
Para eliminar un archivo de un archivo, invoque el indicador -d. Por ejemplo, para eliminar informes4.txt del archivo comprimido, ejecute:
$ zip -d reports.zip reports4.txt
Ejemplo 6) Eliminar archivos después de comprimir (-m)
Como habrá notado, los archivos originales permanecen incluso después de comprimirlos o archivarlos.
Si prefiere deshacerse de ellos durante el archivado y conservar espacio, invoque la opción -m durante el archivado como se muestra:
$ zip -m reports.zip reports1.txt reports2.txt reports3.txt
Ejemplo 7) Cómo comprimir un directorio (-r)
Hasta ahora hemos visto cómo comprimir archivos. A menudo, tendrá la tarea de comprimir directorios, ya que ocupan más espacio durante la mayor parte del tiempo.
Para comprimir una carpeta, use la siguiente sintaxis. La opción -r comprimió la carpeta recursivamente.
$ zip -r archive.zip carpeta
Por ejemplo, para comprimir los datos de un directorio en un archivo data.zip, ejecute:
$ zip -r data.zip data
Al igual que con los archivos, también puede comprimir varias carpetas al mismo tiempo como se muestra:
$ zip -r archivo.zip carpeta1 carpeta2 carpeta3
Ejemplo 8) Comprimir un archivo a un destino diferente
Para comprimir un archivo a un destino diferente al directorio actual, simplemente especifique la ruta al archivo comprimido en su sintaxis como se muestra:
$ zip /ruta/al/destino/archivo.zip
Por ejemplo, el archivo hola.txt se archiva en archivo.zip en la ruta Documentos/datos/ventas.
Ejemplo 9) Comprima archivos y directorios en sus propios archivos
Si, por cualquier motivo, desea comprimir archivos y directorios en el directorio actual en sus archivos zip individuales, use el bucle for como se muestra:
$ for i in *; do zip -r "${i%}.zip" "$i"; done
Por ejemplo, el siguiente ejemplo comprime el archivo hello.txt y la carpeta sales en sus propios archivos hello.zip y sales.zip respectivamente.
Comando de descompresión en Linux
Ahora cambiemos de marcha y concentrémonos en el comando descomprimir. El comando se usa para descomprimir o descomprimir archivos y directorios comprimidos. Echemos un vistazo a algunos ejemplos de uso del comando:
Ejemplo 1) Cómo ver el contenido de un archivo comprimido (-l)
Antes de descomprimir un archivo o directorio, puede ver el contenido del archivo usando la opción -l como se muestra:
$ descomprimir -l archivo.zip
Por ejemplo:
$ unzip -l data.zip
Ejemplo 2) Cómo ver el contenido detallado de un archivo comprimido (-Z)
Para ver información más detallada sobre el archivo, como los permisos de archivo y el tamaño total de los archivos en el archivo, use la opción -Z como se muestra:
$ unzip -Z data.zip
Ejemplo 3) Cómo descomprimir/descomprimir un archivo comprimido (-d)
En su sintaxis básica y más simple, descomprimir un archivo comprimido toma la siguiente sintaxis y ocurre en el directorio de trabajo actual.
$ descomprimir archivo.zip
Por ejemplo:
$ unzip data.zip
Ejemplo 4) Descomprimir un archivo en otro directorio
Para extraer o descomprimir un archivo a un destino diferente, use el indicador -d y especifique la ruta de destino como se muestra
$ unzip archive.zip -d /ruta/a/destino/carpeta
Por ejemplo.
$ unzip data.zip -d /home/linuxtechi/Documents
Ejemplo 5) Descomprimir uno o más archivos de un archivo
A menudo, tendrá un archivo comprimido con varios archivos. En lugar de descomprimir el archivo por completo, puede optar por extraer solo uno o dos archivos. Para lograr esto, especifique los archivos como se muestra en la sintaxis:
$ descomprimir archivo.zip archivo1 archivo2
Por ejemplo, para extraer un archivo llamado hola.txt del archivo home.zip, ejecute
$ unzip home.zip hello.txt
Además, puede extraer el archivo a una carpeta de destino diferente en lugar del directorio actual. Por ejemplo, el siguiente comando extrae el archivo hello.txt al directorio Documentos/datos/ventas.
$ unzip home.zip hello.txt -d Documents/data/sales
Ejemplo 6) Excluir ciertos archivos de la descompresión (-x)
Así como puede extraer un archivo específico de un archivo comprimido, también puede excluir ciertos archivos de la descompresión. Esto es posible usando la opción (-x) en la sintaxis mostrada
$ descomprimir archivo.zip -x archivo1
Por ejemplo, el siguiente ejemplo excluye la extracción de los archivos file1.txt y file2.txt.
$ unzip archive.zip -x file1.txt file2.txt
Ejemplo 7) Cómo suprimir la salida del comando descomprimir (-q)
Como habrá notado, los detalles de la operación de descompresión que muestran la ubicación de la extracción y los archivos que se extraen están impresos en la terminal. Para suprimir esta información, use el interruptor -q como se muestra:
$ unzip -q data.zip
Ejemplo 8) Cómo sobrescribir archivos existentes (-o)
Cuando ejecuta el comando descomprimir dos veces en el mismo directorio, se le preguntará si desea reemplazar, ignorar la extracción o cambiar el nombre de los archivos existentes como se muestra en el resultado a continuación.
Si desea sobrescribir el archivo existente, sin que se le solicite, use la opción -o como se muestra:
$ unzip -o data.zip
Ejemplo 9) Descomprimir varios archivos
Finalmente, para descomprimir varios archivos de una vez, use un comodín en la sintaxis que se muestra:
$ unzip '*.txt'
Tome nota de las comillas simples que encierran el parámetro *.txt.
Conclusión
Esto nos lleva al final de esta guía; hemos mostrado el uso de los comandos zip y unzip y las diversas opciones que puede usar. Para obtener más información sobre su uso, no dude en visitar sus páginas man. Esperamos que tenga un control firme del uso de ambos comandos y que pueda comprimir y descomprimir cómodamente sus archivos.