Cómo comprimir y extraer archivos en Ubuntu (zip, tar.gz, tar.xz) — Comandos, interfaz gráfica y solución de problemas

目次

1. Conocimientos básicos de compresión y extracción en Ubuntu

Los principales propósitos de realizar “compresión” en Ubuntu son los siguientes tres:

  • Reducir el tamaño de los archivos para ahorrar espacio de almacenamiento
  • Agrupar varios archivos en uno solo para enviar y compartir
  • Crear copias de seguridad y archivos (un conjunto empaquetado para almacenamiento)

En Ubuntu, la operación por línea de comandos (Terminal) es el estándar. También puedes hacerlo a través de la GUI (gestor de archivos), pero en entornos de trabajo real y servidores, el uso de la línea de comandos es la norma.

El primer punto clave que debes entender es que “compresión” y “archivado” son conceptos diferentes.

1.1 La diferencia entre compresión y archivado

Este es el punto que la mayoría de los principiantes encuentran confuso.

  • Compresión → Procesamiento que reduce el tamaño de los datos Ejemplos: gzip, bzip2, xz
  • Archivo → Procesamiento que agrupa varios archivos y carpetas en un solo archivo Ejemplo: tar

Un hecho importante

El comando tar no es “compresión”.
En sentido estricto, es un comando que solo “agrupa”.

Si deseas comprimir al mismo tiempo, lo combinas con gzip o xz.

Ejemplo:

tar -czvf archive.tar.gz folder/

Significado:

  • c = crear
  • z = compresión gzip
  • v = salida detallada (mostrar los elementos procesados)
  • f = especificar el nombre del archivo de salida

1.2 Formatos de compresión comunes en Ubuntu

Los siguientes formatos se usan comúnmente en Ubuntu.

FormatFeaturesMain use
zipHigh Windows compatibilitySharing with other OSes
tar.gzLinux standard formatGeneral-purpose compression
tar.bz2Higher compression than gzipPrioritize smaller size
tar.xzVery high compressionLarge datasets

Cómo elegir

  • Compartir con Windows → zip
  • Permanecer dentro de Linux → tar.gz
  • El tamaño es la prioridad principal → tar.xz

1.3 Comandos básicos para verificar antes de comprimir

Verificar el directorio actual:

pwd

Listar archivos:

ls -l

Verificar tamaño:

du -sh folder/

Puntos comunes donde tropezar

  • Ejecutar comandos sin verificar el directorio actual y crear archivos en una ubicación inesperada
  • Escribir mal una ruta relativa (p. ej., ../folder )
  • Omitir la verificación de tamaño antes de comprimir y quedarse sin espacio en disco

1.4 Malentendidos comunes y precauciones

1. Las imágenes y videos no se comprimen mucho

Porque JPEG y MP4 ya son formatos comprimidos, su tamaño normalmente no se reducirá mucho.

2. tar por sí solo no reduce el tamaño

Lo siguiente “solo agrupa”.

tar -cvf archive.tar folder/

El tamaño será casi el mismo.

3. Los archivos grandes aumentan la carga de CPU

El uso de CPU puede ser alto, especialmente al usar xz.

4. Cuidado con los errores de permisos

Si manejas directorios del sistema, necesitarás sudo.

2. Cómo comprimir y extraer en formato zip en Ubuntu

El formato zip ofrece la mejor compatibilidad al intercambiar archivos entre Ubuntu y Windows.
Muchos usuarios que buscan “compresión en ubuntu” buscan zip primero.

En Ubuntu, utilizas los comandos zip y unzip.
Primero, verifica si están instalados.

2.1 Verificar si zip está instalado

Puedes verificar con el siguiente comando:

zip -v

Si obtienes un error, instálalo:

sudo apt update
sudo apt install zip unzip

Errores comunes

  • No se puede extraer porque unzip no está instalado
  • Olvidar sudo y obtener “Permission denied”

2.2 Cómo comprimir archivos con zip

Comprimir un solo archivo:

zip sample.zip file.txt

Resultado:

  • Se crea sample.zip
  • El archivo original no se elimina

Comprimir varios archivos juntos

zip sample.zip file1.txt file2.txt

2.3 Cómo comprimir una carpeta (Importante)

Al comprimir una carpeta, la opción -r (recursiva) es requerida.

zip -r sample.zip folder/

Si omites -r, los archivos dentro de la carpeta no se comprimirán.

Puntos comunes donde tropezar

  • Olvidar -r
  • Escribir mal una ruta relativa
  • Tener el orden del comando incorrecto (el nombre del archivo de salida va primero)

Orden correcto:

zip -r output.zip target_folder

2.4 Cómo extraer un archivo zip

Comando básico:

unzip sample.zip

Extraer a una carpeta especificada:

unzip sample.zip -d extracted_folder

Notas

  • Si el destino ya existe, se le pedirá confirmar la sobrescritura
  • Si existen archivos con el mismo nombre, pueden ser sobrescritos
  • Si la ruta contiene espacios, envuélvala entre comillas

Ejemplo:

unzip "sample file.zip"

2.5 Crear un zip protegido con contraseña

Puede encriptarlo por motivos de seguridad.

zip -e secure.zip file.txt

Se le pedirá que introduzca una contraseña.

Notas

  • El cifrado zip no es muy fuerte (no apto para usos de alta seguridad)
  • Perder la contraseña = difícil de recuperar

2.6 Verificar tamaño y relación de compresión

Mostrar información del archivo zip:

unzip -l sample.zip

Comparar con el tamaño original:

ls -lh

Por qué la relación de compresión puede ser baja

  • Las imágenes/vídeos ya están comprimidos
  • El texto y los registros suelen comprimirse bien

3. Cómo comprimir con tar.gz (tgz) (estándar de Linux)

El formato más usado en entornos Linux es tar.gz.
Se usa ampliamente en Ubuntu para distribución de código fuente y copias de seguridad.

tar.gz es un proceso de dos pasos:

  1. Agrupar archivos con tar (archivo)
  2. Comprimir con gzip

Entender este mecanismo facilita el uso avanzado.

3.1 Comando básico para crear un archivo tar.gz

Ejemplo: comprimir una carpeta

tar -czvf archive.tar.gz folder/

Significado de cada opción:

  • c = crear
  • z = compresión gzip
  • v = modo detallado (mostrar elementos procesados)
  • f = archivo (especificar nombre de salida)

Archivo único

tar -czvf archive.tar.gz file.txt

Múltiples archivos

tar -czvf archive.tar.gz file1.txt file2.txt

3.2 Cómo extraer un archivo tar.gz

Comando básico:

tar -xzvf archive.tar.gz

Desglose de opciones:

  • x = extraer
  • z = descompresión gzip
  • v = mostrar elementos extraídos
  • f = especificar archivo

Extraer a un directorio específico

tar -xzvf archive.tar.gz -C target_folder/

-C especifica el directorio de destino.

3.3 Notas importantes al usar tar

1. Observe la estructura de rutas extraídas

La estructura de directorios al crear se conserva durante la extracción.

Ejemplo:

tar -czvf archive.tar.gz folder/

Al extraer:

folder/
  └─ contents

Si desea “extraer solo el contenido”, debe ajustar las rutas al crear el archivo.

2. Cuidado con sobrescrituras accidentales

Si los archivos ya existen, pueden ser sobrescritos.
Para comprobar con antelación:

tar -tzvf archive.tar.gz

-t lista el contenido del archivo.

3. No hay suficiente espacio en disco

La compresión puede usar espacio adicional temporalmente.
Compruebe antes:

df -h

3.4 Comprimir solo con gzip

Comprimir solo un archivo:

gzip file.txt

Resultado:

file.txt.gz

Descomprimir:

gunzip file.txt.gz

Nota

  • gzip elimina el archivo original (lo reemplaza después de la compresión)
  • No es adecuado para agrupar varios archivos

3.5 Errores comunes

  • Confundir el orden de las opciones
  • Olvidar colocar el nombre de archivo después de f
  • Colocar -C en la posición incorrecta
  • Entender mal que tar solo reduce el tamaño

4. Elegir formatos de alta compresión (bz2 / xz)

Si desea reducir el tamaño al máximo, use bzip2 (bz2) o xz, que normalmente comprimen mejor que gzip.
Sin embargo, a mayor relación de compresión, mayor carga de CPU y mayor tiempo de procesamiento.

La guía básica es la siguiente:

  • Priorizar velocidad → gzip
  • Priorizar relación de compresión → xz
  • Equilibrio → bzip2

4.1 Crear y extraer tar.bz2

Cómo comprimir

tar -cjvf archive.tar.bz2 folder/

Desglose de opciones:

  • c = crear
  • j = compresión bzip2
  • v = salida detallada
  • f = especificar salida

Cómo extraer

tar -xjvf archive.tar.bz2

4.2 Crear y extraer tar.xz

xz es actualmente uno de los formatos de mayor compresión en Linux.

Cómo comprimir

tar -cJvf archive.tar.xz folder/

Nota: J debe estar en mayúscula (importante).

Cómo extraer

tar -xJvf archive.tar.xz

4.3 Diferencias en la relación de compresión y tiempo de procesamiento

Tendencias generales (varían según el entorno):

  • gzip → rápido, relación de compresión estándar
  • bzip2 → mayor compresión que gzip, algo más lento
  • xz → compresión muy alta, el más lento

Verificar carga de CPU

top

Es normal que el uso de CPU aumente al comprimir archivos grandes con xz.

4.4 Cómo elegir en el trabajo real

Para copias de seguridad

→ tar.xz (priorizar menor tamaño)

Para almacenamiento de registros del servidor

→ tar.gz (balance)

Para transferencias temporales

→ tar.gz o zip

4.5 Errores comunes y precauciones

  • Escribir J en minúscula y obtener un error
  • xz no está instalado en entornos antiguos
  • El servidor se vuelve lento debido a la carga de CPU
  • Quedarse sin espacio durante la compresión

Si xz no está instalado:

sudo apt install xz-utils

5. Cómo comprimir usando la GUI (Administrador de archivos)

Si no te sientes cómodo con las operaciones de línea de comandos, puedes comprimir usando el administrador de archivos de Ubuntu (normalmente “Files” = Nautilus).
En entornos de escritorio, este es el método más sencillo.

5.1 Pasos para comprimir mediante clic derecho

Pasos

  1. Selecciona el archivo o carpeta que deseas comprimir
  2. Haz clic derecho
  3. Selecciona “Comprimir”
  4. Selecciona un formato wp:list /wp:list
    • .zip
    • .tar.xz
    • .7z (may appear depending on the environment)
  5. Haz clic en “Crear”

El archivo comprimido se crea en el mismo directorio.

5.2 Cómo extraer

Pasos

  1. Haz clic derecho en el archivo comprimido
  2. Selecciona “Extraer aquí” o “Extraer a…”
  3. La extracción se completa

5.3 Verificar cuando no puedes usar la GUI

En entornos de instalación mínima o Ubuntu Server, la GUI no está disponible.
En ese caso, debes usar operaciones de línea de comandos.

Check desktop environment:

echo $XDG_CURRENT_DESKTOP

Si no se muestra nada, puede que no tengas un entorno GUI.

5.4 Notas al usar la GUI

1. El procesamiento puede ser lento con muchos archivos

El indicador de progreso puede ser difícil de entender.

2. No puedes especificar niveles de compresión detallados

No puedes establecer niveles de gzip en la GUI.

3. El uso de CPU es difícil de ver

Si el PC se vuelve lento durante el procesamiento, puede ser difícil entender por qué.

4. No es adecuado para uso en servidores

No disponible en entornos basados en SSH.

5.5 Errores comunes

  • Seleccionar un formato de compresión sin entender las diferencias
  • No verificar el destino y luego “perder” los archivos extraídos
  • Sobrescribir archivos existentes

6. Técnicas de compresión prácticas para el trabajo real

Aquí explicamos técnicas que aparecen frecuentemente en el trabajo real y en operaciones de servidor, más allá de la compresión/extracción simple.
Estas incluyen excluir registros, comprimir solo extensiones específicas y zip protegido con contraseña—operaciones muy prácticas.

6.1 Comprimir solo extensiones de archivo específicas

Ejemplo: comprimir solo archivos de registro

tar -czvf logs.tar.gz *.log

Notas

  • * (comodín) se expande automáticamente por el shell
  • Solo apunta a archivos en el directorio actual
  • Las subcarpetas no se incluyen

Para incluir también subcarpetas:

find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-

6.2 Excluir archivos específicos al comprimir

Ejemplo: excluir archivos .log

tar --exclude="*.log" -czvf archive.tar.gz folder/

Excluir múltiples patrones:

tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/

Errores comunes

  • Omitir comillas y hacer que el comodín se expanda
  • Escribir mal la ruta de exclusión

6.3 Especificar nivel de compresión (gzip)

gzip permite especificar el nivel de compresión (1–9).

gzip -9 file.txt
  • 1 = rápido, compresión baja
  • 9 = lento, compresión alta

Al especificar mediante tar:

tar -czvf archive.tar.gz folder/ --gzip -9

Nota: la sintaxis puede variar según el entorno.

6.4 Crear un zip protegido con contraseña

zip -e secure.zip file.txt

Para forzar el cifrado:

zip -P password secure.zip file.txt

Nota

  • -P no se recomienda porque permanece en el historial del shell
  • el cifrado zip no es muy fuerte (no adecuado para usos de alta seguridad)

6.5 Dividir archivos (para archivos grandes)

Para dividir un archivo grande:

zip -r -s 100m split.zip folder/

Se dividirá en partes de 100 MB.

Notas

  • Todas las partes divididas son necesarias para extraer
  • Si falta o está corrupta alguna parte, la recuperación no es posible

6.6 Comparar tamaños antes y después de la compresión

Antes de la compresión:

du -sh folder/

Después de la compresión:

ls -lh archive.tar.gz

Razones comunes de una baja relación de compresión:

  • Datos ya comprimidos, como imágenes/vídeos
  • Los datos cifrados se comprimen mal

7. Errores comunes durante la compresión y cómo solucionarlos

Al comprimir o extraer en Ubuntu, los principiantes a menudo se encuentran con errores comunes.
A continuación se presentan errores representativos y sus soluciones específicas.

7.1 Error “command not found”

Ejemplo:

zip: command not found

Causa

El comando no está instalado.

Solución

sudo apt update
sudo apt install zip unzip

Para herramientas relacionadas con tar:

sudo apt install xz-utils

7.2 “Permission denied”

Ejemplo:

tar: folder/file.txt: Cannot open: Permission denied

Causa

Permisos insuficientes para acceder al archivo o directorio.

Solución

Verificar la propiedad:

ls -l

Usar sudo:

sudo tar -czvf archive.tar.gz folder/

Nota

El uso excesivo de sudo aumenta el riesgo de seguridad.

7.3 “No space left on device”

Ejemplo:

No space left on device

Causa

No hay suficiente espacio en disco.

Cómo comprobar

df -h

Eliminar archivos innecesarios:

sudo apt clean

Comprobar el uso del disco:

du -sh *

7.4 Nombres de archivo corruptos al extraer

Esto puede ocurrir al recibir un archivo zip creado en Windows.

Causa

Diferencias en la codificación de caracteres (UTF-8 vs Shift-JIS, etc.).

Solución de ejemplo

unzip -O cp932 sample.zip

Nota: varía según el entorno.

7.5 Sobrescrituras accidentales

Los archivos existentes pueden sobrescribirse durante la extracción.

Verificar con antelación:

tar -tzvf archive.tar.gz

Para zip:

unzip -l sample.zip

7.6 Alta carga de CPU

Es normal que el uso de CPU aumente durante la compresión xz.

Comprobar:

top

Si es necesario, reduzca el nivel de compresión o cambie a gzip.

8. Resumen: Qué comando de compresión de Ubuntu usar (referencia rápida)

Aquí hay un resumen práctico, basado en casos de uso, de lo que hemos cubierto.
Esto ayuda a los usuarios que buscan “ubuntu compression” a llegar a la conclusión rápidamente.

8.1 Formatos recomendados según el caso de uso

Use caseRecommended formatReason
Sharing with WindowszipHigh compatibility
Standard use within Linuxtar.gzGood balance
Size is the top prioritytar.xzHigh compression
Backup storagetar.gz / tar.xzPrioritize stability
Temporary transfertar.gzPrioritize speed

8.2 Comparación de formatos (velocidad vs relación de compresión)

FormatCompression ratioSpeedCPU load
zipNormalFastLow
tar.gzNormalFastLow to medium
tar.bz2HighSlowMedium
tar.xzVery highVery slowHigh

Nota: la relación de compresión y la velocidad varían según los datos y el entorno.

8.3 Comandos mínimos que deberías memorizar

Compresión zip

zip -r archive.zip folder/

Compresión tar.gz

tar -czvf archive.tar.gz folder/

Extracción tar.gz

tar -xzvf archive.tar.gz

8.4 Conclusión simple para principiantes

  • Si no estás seguro, usa tar.gz
  • Si necesitas compartir con Windows, usa zip
  • Si deseas el tamaño más pequeño posible, usa tar.xz

Tu máxima prioridad es memorizar tar -czvf y tar -xzvf.

8.5 Elecciones erróneas comunes

  • Creer que tar por sí solo puede comprimir
  • Elegir siempre xz y ralentizar el proceso
  • No comprender la diferencia entre GUI y CLI
  • No comprobar el uso del disco antes de comprimir