🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo comprimir y descomprimir archivos con tar y gzip

Actualizado el 19 de abril de 2026

Introducción: ¿Por qué necesitas comprimir y descomprimir archivos en Linux?

Si alguna vez has trabajado con un servidor, un VPS o incluso tu propia computadora con Linux, seguro has escuchado hablar de tar y gzip. Son como el dúo dinámico de la gestión de archivos. Pero, ¿qué son exactamente y por qué son tan importantes?

Imagina que tienes una carpeta llena de fotos de tus vacaciones, documentos de trabajo o, en el caso de un administrador de sistemas, los archivos de configuración de tu página web. Enviar esa carpeta por correo o subirla a un servidor puede ser lento y complicado. Aquí es donde entran en juego estas herramientas.

Tar (Tape Archive) es como una caja de cartón. Su función principal es empaquetar muchos archivos y carpetas en un solo archivo (llamado archivo tar o "tarball"). No comprime nada por sí solo, solo los junta para que sea más fácil de manejar.

Gzip es como la máquina que comprime el contenido de esa caja. Reduce el tamaño del archivo, lo que hace que ocupe menos espacio y sea más rápido de transferir. Cuando combinas ambos, obtienes un archivo comprimido y empaquetado, generalmente con la extensión .tar.gz o .tgz, que es perfecto para hacer backup linux tar o para distribuir software.

En este artículo, vamos a desglosar, paso a paso y sin tecnicismos, cómo usar estos comandos para comprimir y descomprimir archivos. Al final, serás capaz de manejar tus archivos como un profesional.

Conceptos Básicos: ¿Qué es exactamente un archivo .tar.gz?

Antes de ponernos manos a la obra, es crucial entender la terminología. Cuando ves un archivo llamado mis_datos.tar.gz, significa que primero se empaquetaron todos los archivos en un archivo mis_datos.tar y luego se comprimió con gzip.

Piénsalo así: tar organiza la mudanza (pone todo en cajas) y gzip aplasta las cajas para que quepan en el camión de mudanzas. Necesitas ambos procesos para obtener el resultado final.

Los comandos que usaremos son tar y gzip. Aunque gzip es un programa separado, casi siempre se usa a través del comando tar con la bandera -z. Esto simplifica todo, ya que no tienes que ejecutar dos comandos por separado.

Cómo Comprimir Archivos con tar y gzip

Comprimir archivos es el proceso de crear un archivo .tar.gz a partir de una o más carpetas. Vamos a ver los casos más comunes.

Comprimir una carpeta completa (el caso más típico)

Supón que tienes una carpeta llamada proyecto-web en tu directorio de inicio (/home/usuario/) y quieres comprimirla para hacer una copia de seguridad. El comando sería el siguiente:

tar -czvf proyecto-web.tar.gz proyecto-web/

Vamos a desglosar este comando pieza por pieza, porque es la base de todo:

  • tar: Es el comando principal que estamos ejecutando.
  • -czvf: Estas son las opciones o banderas. Cada letra tiene un significado:
    • c (create): Le dice a tar que cree un nuevo archivo.
    • z (gzip): Le indica que comprima el archivo usando gzip. Sin esta, el archivo no se comprimiría.
    • v (verbose): Muestra en pantalla los archivos que se están procesando. Es útil para ver el progreso, pero puedes omitirla si no quieres ver tanto texto.
    • f (file): Indica que el siguiente argumento será el nombre del archivo que vamos a crear.
  • proyecto-web.tar.gz: Es el nombre que le queremos dar al archivo comprimido resultante.
  • proyecto-web/: Es la carpeta que queremos comprimir. Es importante incluir la barra al final (/) para indicar que es una carpeta.

[TIP] Si no quieres ver la lista de archivos mientras se comprime, quita la letra v del comando: tar -czf proyecto-web.tar.gz proyecto-web/. Es más rápido y limpio.

Comprimir múltiples archivos o carpetas

¿Necesitas comprimir varios archivos que están en diferentes lugares? No hay problema. Solo tienes que listarlos uno después de otro.

tar -czvf mis-copias.tar.gz /home/usuario/documentos/ /home/usuario/fotos-vacaciones/ /home/usuario/notas.txt

Este comando creará un archivo llamado mis-copias.tar.gz que contendrá la carpeta documentos, la carpeta fotos-vacaciones y el archivo notas.txt. Es una forma excelente de agrupar todo lo importante en un solo lugar.

Comprimir todos los archivos de un directorio específico

A veces, no quieres comprimir la carpeta en sí, sino solo su contenido. Para ello, puedes usar el comodín * (asterisco). Primero, navega al directorio que contiene los archivos y luego ejecuta:

cd /ruta/a/mi/directorio
tar -czvf todos-mis-archivos.tar.gz *

El * le dice a la terminal que agarre todos los archivos y carpetas del directorio actual. Ten cuidado con esto, porque si estás dentro de la carpeta y el archivo de salida .tar.gz se crea ahí mismo, podría intentar comprimirse a sí mismo. Lo mejor es guardar el archivo resultante en otro lugar, como en /tmp/ o en tu directorio de inicio.

tar -czvf /home/usuario/todos-mis-archivos.tar.gz *

Cómo Descomprimir Archivos tar.gz

Descomprimir es el proceso inverso: extraer los archivos de un archivo .tar.gz. Es igual de sencillo.

Descomprimir en el directorio actual

Si estás en la carpeta donde quieres que se extraigan los archivos, el comando es el siguiente:

tar -xzvf proyecto-web.tar.gz

Observa que la bandera c (create) ha cambiado por x (extract). El resto es muy similar.

  • x: Le dice a tar que extraiga los archivos.
  • z: Indica que el archivo está comprimido con gzip y debe descomprimirse.
  • v: Muestra el progreso de la extracción.
  • f: Especifica el nombre del archivo a extraer.

Este comando creará la carpeta proyecto-web/ (si no existe) y colocará todos los archivos dentro de ella en el directorio actual.

Descomprimir en un directorio específico

No siempre querrás que los archivos se extraigan donde estás parado. Para especificar un directorio de destino, usa la bandera -C (mayúscula).

tar -xzvf proyecto-web.tar.gz -C /var/www/html/

Este comando extraerá el contenido del archivo proyecto-web.tar.gz dentro de /var/www/html/. Si la carpeta proyecto-web existe dentro del archivo, la creará en esa ruta. Es muy útil para instalar software o desplegar sitios web.

[WARNING] Si el directorio de destino no existe, tar te dará un error. Asegúrate de crearlo antes con el comando mkdir -p /ruta/del/directorio.

Comandos Avanzados y Opciones Útiles

Ya sabes lo básico, pero hay algunas opciones más que te harán la vida mucho más fácil.

Ver el contenido sin extraer

A veces solo quieres ver qué hay dentro de un archivo comprimido sin extraerlo. Usa la bandera -t (list).

tar -tzvf proyecto-web.tar.gz

Este comando mostrará una lista detallada de todos los archivos y carpetas dentro del archivo comprimido. Es perfecto para verificar antes de extraer.

Añadir archivos a un archivo tar existente

¿Tienes un archivo .tar (sin comprimir) y quieres añadir más archivos? Puedes usar la bandera -r (append). Ten en cuenta que esto solo funciona con archivos .tar, no con .tar.gz comprimidos.

tar -rf mi-archivo.tar nuevo-archivo.txt

Comprimir con máxima compresión

Por defecto, gzip usa un nivel de compresión estándar. Si quieres que el archivo ocupe el menor espacio posible (aunque tarde un poco más), puedes especificar el nivel de compresión. La opción es -I (o --use-compress-program).

tar -czvf archivo.tar.gz carpeta/ -I 'gzip -9'

El -9 es el nivel máximo de compresión para gzip (los niveles van del 1 al 9). También puedes usar -1 para la compresión más rápida pero menos efectiva.

Casos de Uso Real: Backup y Transferencia de Archivos

Hacer un backup de un sitio web (ejemplo con Syspanel)

Imagina que tienes un sitio web alojado en un servidor con Syspanel (el panel de control que usamos, accesible en el puerto 2106). Quieres hacer una copia de seguridad de todos los archivos de tu web. Lo más común es que estén en /home/usuario/web/midominio.com/.

Navega a la carpeta principal y ejecuta:

cd /home/usuario/web/
tar -czvf backup-midominio-$(date +%Y%m%d).tar.gz midominio.com/

Aquí he añadido un truco extra: $(date +%Y%m%d). Esto ejecuta el comando date y añade la fecha en formato año-mes-día al nombre del archivo. Así, si haces backups diarios, no se te solaparán. El resultado sería un archivo como backup-midominio-20231026.tar.gz. Es una práctica excelente para mantener un historial de copias.

Transferir archivos entre servidores

Comprimir antes de transferir es clave para ahorrar tiempo y ancho de banda. Puedes comprimir la carpeta en tu servidor local y luego usar scp o rsync para enviarla al servidor remoto.

# En el servidor local
tar -czvf archivos-a-enviar.tar.gz /carpeta/importante/

# En el servidor remoto (después de la transferencia)
tar -xzvf archivos-a-enviar.tar.gz -C /ruta/de/destino/

Preguntas Frecuentes (FAQ)

¿Cuál es la diferencia entre .tar, .gz y .tar.gz?

  • .tar: Es solo el empaquetado, sin compresión. Ocupa casi el mismo espacio que los archivos originales.
  • .gz: Es un archivo comprimido con gzip. Generalmente se usa para un solo archivo, no para carpetas.
  • .tar.gz: Es el resultado de empaquetar con tar y luego comprimir con gzip. Es el estándar para distribuir software y hacer backups.

¿Puedo comprimir archivos con contraseña?

La respuesta corta es no, no con tar y gzip directamente. Estas herramientas no tienen cifrado integrado. Para cifrar, necesitas usar otras herramientas como gpg. Por ejemplo:

tar -czvf - carpeta/ | gpg -c -o archivo.tar.gz.gpg

Esto te pedirá una contraseña. Para descomprimir, tendrías que hacer el proceso inverso.

¿Qué hago si el archivo .tar.gz está corrupto?

Puedes intentar repararlo, pero es complicado. Lo primero es verificar si el archivo está completo. Puedes usar el comando gzip -t archivo.tar.gz para comprobar su integridad. Si te da un error, el archivo está dañado y tendrás que buscar otra copia o intentar recuperarlo con herramientas especializadas.

¿Cómo descomprimo un archivo .tar sin gzip?

Es muy sencillo. Solo omite la bandera z del comando de extracción.

tar -xvf archivo.tar

¿Existe alguna alternativa a tar y gzip?

Sí, hay muchas. Las más comunes son zip, 7z y xz. De hecho, tar puede usar xz para comprimir, lo que resulta en archivos .tar.xz que suelen comprimir mejor que .tar.gz. El comando sería:

tar -cJvf archivo.tar.xz carpeta/

La J es para usar xz en lugar de z para gzip. La descompresión sería tar -xJvf archivo.tar.xz.

[INFO] Aunque existen alternativas, tar y gzip siguen siendo el estándar de facto en el mundo Linux. Están instalados en prácticamente todas las distribuciones y son los más compatibles.

Conclusión y Buenas Prácticas

Dominar tar y gzip es una habilidad fundamental para cualquier persona que trabaje con Linux, ya sea un desarrollador, un administrador de sistemas o un usuario avanzado. Te permite gestionar tus archivos de manera eficiente, hacer backup linux tar de forma rápida y transferir datos entre servidores sin problemas.

Aquí tienes un resumen de las buenas prácticas:

  • Siempre usa la bandera -z cuando quieras comprimir o descomprimir un archivo .tar.gz.
  • Verifica el contenido de un archivo antes de extraerlo con tar -tzvf.
  • Especifica un directorio de destino con -C para evitar extraer archivos en lugares inesperados.
  • Usa nombres descriptivos para tus archivos, incluyendo la fecha si haces backups.
  • Prueba tus comandos en un directorio de prueba antes de aplicarlos a datos importantes.

Con estos comandos, ya tienes las herramientas necesarias para manejar tus archivos como un experto. No tengas miedo de experimentar en tu propia máquina; la práctica es la mejor manera de aprender. Si tienes un panel como Syspanel (recuerda, en el puerto 2106), puedes usar estas técnicas para gestionar los archivos de tu sitio web directamente desde la terminal, lo que te dará un control total sobre tu hosting.

¡Espero que este artículo te haya sido de gran ayuda! Ahora, ¡manos a la obra a comprimir y descomprimir!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel