Dominar el manejo eficiente de archivos es clave en sistemas Linux. Dos procesos fundamentales, pero distintos, son el empaquetado y la compresión. Si bien empaquetar significa reunir varios archivos en uno solo para facilitar su distribución, comprimir implica reducir su tamaño eliminando redundancias de datos.
¿Qué significa empaquetar archivos y cuándo es útil?
Empaquetar consiste en combinar múltiples archivos o carpetas en un único paquete que el sistema operativo reconocerá como un solo archivo. Un ejemplo típico ocurre al descargar archivos comprimidos en formato ZIP desde un navegador; estos son archivos empaquetados.
En entornos Linux, el empaquetador habitual es TAR. Para empaquetar archivos, utilizamos comandos específicos en la terminal:
tar -cvf textos.tar textos
Este procedimiento crea un archivo .tar que contiene la carpeta especificada, en este caso "textos".
¿Cómo comprimir archivos para ahorrar espacio?
La compresión reduce significativamente el tamaño de un archivo eliminando datos redundantes. El estándar más común en terminal Linux es gzip.
A continuación, un ejemplo práctico para comprimir el archivo previamente empaquetado:
gzip textos.tar
Este comando comprimirá el archivo generando uno nuevo con extensión .tar.gz, resultando en un archivo mucho más pequeño.
¿Cómo descomprimir y desempaquetar archivos correctamente?
Cuando recibimos un archivo .tar.gz, necesitamos primero descomprimirlo y luego desempaquetarlo. Son procesos independientes que hacemos en dos pasos:
Descomprimir con gzip usando el comando gunzip:
gunzip textos.tar.gz
Desempaquetar el archivo TAR resultante:
tar -xvf textos.tar
TAR también permite simplificar estos pasos añadiendo la opción z para realizar ambas operaciones de una sola vez:
tar -xzvf textos.tar.gz
Ahora, recuerda que tanto empaquetar como comprimir son técnicas independientes. Puedes crear un paquete sin comprimir o comprimir archivos individuales sin empaquetarlos.
¿Cuándo utilizas tú estas técnicas habitualmente? Comparte tu experiencia en los comentarios.
Empaquetado y compresión de archivos con TAR y GZIP en Linux
Y al igual para empaquetar y comprimir al mismo tiempo se podría con:
tar -czvf <nombre_archivo>. tar-gz ./<directorio>
Flags:
c = create (crear nuevo archivo).
v = verbose (mostrar en pantalla lo que hace).
f = file (indica que el siguiente argumento es el nombre del archivo).
Ejemplo práctico con carpeta marvel:
tar -cvf marvel.tar marvel/
Explicación:
-c = crea un archivo tar.
-v = muestra los archivos que va agregando.
-f marvel.tar = guarda el empaquetado con ese nombre.
marvel/ = carpeta que empaquetamos.
Esto genera marvel.tar en tu directorio ~/Platzi/.
📦 TAR & GZIP: The Linux File Packing Duo
Imagine you’re moving to a new house 🏠. tar is your sturdy box, bundling loose items (files) together, while gzip is the vacuum seal that shrinks the box for easier transport. Here’s how this dynamic duo works—no commands, just concepts!
1️⃣ TAR: The Digital Packing Tape
What it does: Combines multiple files/folders into a single archive file (like stuffing clothes into a suitcase 🧳).
TAR alone: Like a box of unshrunk clothes—tidy but bulky.
TAR + GZIP: Like vacuum-sealing that box—smaller and portable!
Resulting files: .tar.gz or .tgz (both mean "tarred then gzipped").
4️⃣ When to Use This Combo
Backups: Bundle logs or projects into one compressed file.
Software distribution: Linux apps often ship as .tar.gz (source code).
Emailing folders: Avoid "too many files" errors by sending one archive.
⚠️ Watch Out For...
Compression limits: Text files shrink well (60-90%), but videos/MP3s barely compress.
Archive bombs: Malicious archives that unpack to huge sizes—always check source!
Permissions: tar preserves file permissions (useful for backups).
🚀 Real-World Analogy
TAR = Rolling clothes into a bundle.
GZIP = Using a vacuum bag to shrink that bundle.
Extracting = Unzipping the bag and unrolling clothes.
Cuando usas tar -xvf en la terminal, el comando tar asume que el archivo es un archivo tar normal (no comprimido). Si el archivo tiene la extensión .tar.gz o .tgz, tar automáticamente intenta descomprimirlo gracias a la opción z implícita. Esto permite que tar maneje tanto el desempaquetado como la descompresión en un solo paso.
🤮🤮🤮
Eso parece que lo redactó alguien que tiene 3 días que aprendió las vocales.
🐧 Empaquetar y Comprimir Archivos en Linux
📦 ¿Qué es EMPAQUETAR?
Definición:
Combinar varios archivos o carpetas en un solo archivo.
¿Para qué sirve?
✔️ Facilita la distribución
✔️ Mantiene la estructura de carpetas
Herramienta en Linux:
tar
Comando básico:
tar -cvf textos.tar textos
📝 Resultado:
Un archivo textos.tar que contiene todo lo que había en la carpeta textos.
🔽 ¿Qué es COMPRIMIR?
Definición:
Reducir el tamaño de un archivo eliminando redundancias.
¿Para qué sirve?
✔️ Ahorra espacio
✔️ Facilita la transferencia
Herramienta en Linux:
gzip
Comando básico:
gzip textos.tar
📝 Resultado:
Archivo textos.tar.gz (más pequeño que el original).
🔄 ¿Cómo DESCOMPRIMIR y DESEMPAQUETAR?
🔹 OPCIÓN 1: En dos pasos
Descomprimir:
gunzip textos.tar.gz
Desempaquetar:
tar -xvf textos.tar
🔹 OPCIÓN 2: Todo en uno
Comando combinado:
tar -xzvf textos.tar.gz
📝 Este comando descomprime y desempaqueta al mismo tiempo.
¿por que fue necesario usar el tar primero y luego gzip no es mejor usar directamente el gzip sobre el directorio textos ?
La razón principal es que gzip no sabe cómo manejar directorios. Si intentas usar gzip directamente sobre una carpeta, el sistema no la comprimirá como un solo bloque; en su lugar, intentará comprimir cada archivo individualmente dentro de ella, lo cual es ineficiente y no mantiene la estructura de directorios.
Piensa en tar como una caja de mudanza: su único trabajo es meter varios objetos (archivos y carpetas) en un solo contenedor para que puedas moverlos como una unidad. Por sí solo, tar no reduce el peso. Luego, gzip actúa como una prensa que reduce el volumen de esa caja.
me encanta este curso, super bien explicado , me da ganas de seguir aprendiendo jajaj
Empaquetar archivos sin comprimirlos es útil en varias situaciones:
Organización: Agrupar múltiples archivos en un solo archivo facilita su manejo y transporte.
Integridad: Al empaquetar, se asegura que todos los archivos relacionados se mantengan juntos, evitando la pérdida de información.
Compatibilidad: Algunos sistemas o aplicaciones pueden requerir archivos empaquetados para su correcta lectura, aunque no estén comprimidos.
Facilidad de uso: Al compartir o enviar archivos, un paquete es más fácil de gestionar, especialmente en correos electrónicos.
Estos casos son comunes en la administración de proyectos y en la distribución de software.
El empaquetado y la compresión son procesos distintos:
Empaquetado: Se refiere a agrupar varios archivos en uno solo, creando un "paquete" que facilita la manipulación y transferencia. En Linux, se utiliza el comando tar para este propósito. Por ejemplo, al empaquetar una carpeta, se genera un archivo .tar que contiene varios archivos.
Compresión: Es el proceso de reducir el tamaño de un archivo, eliminando redundancias de datos. En Linux, se usa comúnmente gzip para comprimir archivos, produciendo un archivo con la extensión .gz.
Ambos procesos son útiles, pero cumplen funciones diferentes.
En la clase se utilizaron los siguientes comandos:
tar: Empaqueta archivos en un solo archivo. Ejemplo: tar -cvf textos.tar textos/ (crea un archivo llamado textos.tar con el contenido de la carpeta textos).
gzip: Comprime archivos para reducir su tamaño. Ejemplo: gzip textos.tar (comprime el archivo textos.tar, generando textos.tar.gz).
gunzip: Descomprime archivos comprimidos por gzip. Ejemplo: gunzip textos.tar.gz (descomprime el archivo textos.tar.gz).
tar -xvf: Desempaqueta archivos. Ejemplo: tar -xvf textos.tar (extrae el contenido de textos.tar).
Estos comandos son esenciales para manejar archivos en Linux.
Y se puede comprimir cualquier tipo de archivo? hay alguna perdida de calidad dependiendo del formato?
Que buen video, gracias Platzi.
Che, muy claras las clases, te felicito.
No puedo comprimir una carpeta sin antes haberla empaquetado?
con gzip No
Excelente explicación sobre como realizar la forma de empaquetar y desempaquetar.
Ok, me queda claro el concepto de empaquetar y comprimir
Crear una carpeta organiza archivos dentro de una estructura de directorio. Empaquetar, como se explica en la clase, agrupa varios archivos o carpetas en un único archivo para facilitar su manejo, pero no es una carpeta en sí.
la flag “v” viene de “verbouse” o verboso, es para que te de información en pantalla de lo que está haciendo.