fbpx Cómo compactar archivos en Linux: tar, zip y gzip | Certificação Linux

Compactadores de Archivos en Linux: tar, gzip, bzip2, zip y xz

📅 01/04/2019 ⏱ 5 min ✍️ Uira Ribeiro
Linuxcómo-hacer
Compactadores de Archivos en Linux: tar, gzip, bzip2, zip y xz
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

Los compresores de archivos en Linux se usan en el día a día de los administradores.

Conocé los comandos tar y compresores gzip, bgzip y xz para combinar y comprimir archivos en Linux. Esencial para cualquier administrador.

Comando tar

&list=PL6IznNGWCdD89jP8kiacplFQcJlmMmjhb&index=103

Uso:

$ tar [ctxurgjzpvfNCMF] [destino] [fuente]

El nombre de este comando proviene de "Tape-ARchive". Él lee archivos y directorios y los guarda en cinta o archivo. Junto con los datos, guarda información importante como la última modificación, permisos de acceso y otros. Esto lo hace capaz de restaurar el estado original de los datos.

El comando tar recibe dos argumentos. Son estos:

[fuente]: Si se usa tar para hacer backup, este parámetro puede ser un archivo, un dispositivo, un directorio a copiar;

[destino]: Si el comando se usa para backup, esta opción especificará el destino para los datos. Puede ser un archivo tarball o un dispositivo. Si se usa para restaurar los archivos, especificará un archivo tarball y un dispositivo de donde se extraerán los datos.

Las opciones más frecuentes son:

  • -c: Crea un nuevo archivo .tar;
  • -t: Lista el contenido de un archivo .tar;
  • -x: Extrae los archivos de archivo .tar;
  • -u: Agrega más archivos al archivo .tar solo si estos son nuevos o modificados;
  • -r: Agrega los archivos especificados al final del archivo .tar;
  • -g: Crea un backup incremental;
  • -j: Usa bzip2 para comprimir y descomprimir los archivos .tar;
  • -z: Usa gzip para comprimir y descomprimir los archivos .tar;
  • -p: Extrae los archivos con los mismos permisos de creación;
  • -v: Lista todos los archivos procesados;
  • -f: Indica que el destino es un archivo en disco, y no una unidad de cinta magnética;
  • -N: fecha Guarda solo los archivos más nuevos que la fecha especificada;
  • -C: Especifica la ubicación donde se extraerán los datos;
  • -M: Habilita múltiples volúmenes;
  • -T: Crea un paquete .tar a partir de una lista de archivos y directorios.

Ejemplos:

Para guardar un determinado directorio /var/lib/mysql en un archivo /var/backup/mysql.tar.gz.

# tar cvzf /var/backup/mysql.tar.gz /var/mysql

Para extraer el mismo paquete:

# tar xvzf /var/backup/mysql.tar.gz –C /

Para crear un backup del directorio /home/documentos en múltiples diskettes:

# tar cvMf /dev/fd0 /home/documentos

Para crear un paquete a partir de una lista de directorios en un archivo y con fecha superior a 01/05/2004.

# cat listabackup.txt

/etc

/var/lib/mysql

/usr/local/apache2/conf

# tar czPf backup-010504.tar.gz -N 01/05/2004 -T listabackup.txt

Para guardar el directorio /etc en cinta SCSI en el dispositivo /dev/st0:

# tar cvz /dev/st0 /etc

Para listar el contenido de una cinta SCSI en el dispositivo /dev/st0:

# tar tfz /dev/st0

Para extraer solo el archivo de contraseñas:

# tar xvfz /dev/st0 etc/passwd

Las operaciones de backup de datos pueden automatizarse a través de scripts shell y programarse en cron, requiriéndose solo del administrador el cambio de medios y revisión de los informes.

Los Compresores de Datos

&list=PL6IznNGWCdD89jP8kiacplFQcJlmMmjhb&index=11

Comando gzip y gunzip

Para una mayor eficiencia y economía de medios de backup, existe el recurso de compresión de datos.

El primer compresor de datos muy utilizado es gzip. Utiliza un algoritmo de comprensión llamado Lempel-Ziv. Esta técnica encuentra caracteres duplicados en los datos de entrada. La segunda ocurrencia de los caracteres se reemplaza por punteros a la referencia anterior, en forma de pares de distancia y longitud. Al comprimir un archivo, gzip agrega el sufijo .gz.

Para comprimir un archivo:

$ gzip archivo

Para descomprimir un archivo:

$ gzip –d archivo.gz

O

$ gunzip archivo.gz

Comando bzip2 y bunzip2

El compresor bzip2 comprime archivos utilizando el algoritmo de Burrows-Wheeler y Huffman. Esta técnica opera en bloques de datos grandes. Cuanto mayor el tamaño de los bloques, mayor la tasa de compresión alcanzada. Es considerado mejor que los compresores convencionales de datos. Al comprimir un archivo, bzip2 agrega el sufijo .bz2.

Para comprimir un archivo:

$ bzip2 archivo

Para descomprimir un archivo:

$ bzip2 –d archivo.bz2

O

$ bunzip2 archivo.bz2

Existen algunos casos donde el archivo comprimido puede quedar más grande que el archivo original. Esto puede ocurrir si el algoritmo utilizado no encuentra ocurrencias para hacer la compresión de los datos y el encabezado del compresor se agrega al archivo original.

Comando xz

Además, tenemos el compresor de datos xz, que utiliza un algoritmo similar a gzip. Produce archivos con la extensión .xz o .lzma.

Para comprimir un archivo:

$ xz archivo

Para descomprimir:

$ xz --decompress archivo.xz

Para que tengas una idea de la diferencia entre los tres compresores gzip, bzip2 y xz, mirá el ejemplo comparativo del paquete TAR de un archivo de backup de un sitio:

site.tar                    9,8M       # archivo sin compresión;

site.tar.gz               2,6M       # archivo comprimido con gzip

site.tar.bz2 2,4M           # archivo comprimido con bzip

site.tar.xz                2,1M       # archivo comprimido con xz

Conclusión

Si necesitás hacer backup de datos en Linux, es imprescindible conocer los comandos tar, gzip, bzip y xz.

Aprendé mucho más sobre Linux en nuestro curso online. Podés hacer la inscripción acá. Si ya tenés una cuenta, o querés crear una, simplemente entrá o creá tu usuario acá.

¿Te gustó? Compartí

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp