Archivado y compresión de archivos: comandos tar
, gzip
, zip
1. Concepto de archivado y compresión
¿Qué es el archivado y para qué sirve?
Imagina un armario lleno de libros. Para guardarlos de manera compacta, podrías meterlos en una caja (archivado) y atarla con una cuerda para ahorrar espacio (compresión). En el mundo de las computadoras, el archivado es el proceso de unir varios archivos en un solo contenedor (archivo), y la compresión es la disminución de su tamaño.
¿Pero para qué sirve esto? Aquí van algunos ejemplos:
- Almacenamiento de datos: Al empaquetar archivos en un archivo, puedes moverlos o copiarlos fácilmente como un solo archivo.
- Transferencia de datos: Al comprimir los datos ocupan menos espacio, lo que acelera su transferencia por la red.
- Copias de seguridad: El archivado permite proteger los datos y facilita su recuperación.
Por cierto, ¿alguna vez intentaste mandar 1000 archivos por correo? ¡Sin archivado, sería una tortura!
2. El comando tar
: creación y manejo de archivos
¿Qué es tar?
tar
es una utilidad para archivar archivos en Linux. Por sí mismo, tar
no comprime archivos, simplemente los une en uno solo. Si deseas comprimir un archivo, puedes usarlo junto con una herramienta de compresión (gzip
, bzip2
, etc.).
Sintaxis general
tar [opciones] <archivo> <archivos/carpetas>
Opciones principales
-c
: crea un archivo nuevo.-v
: salida detallada de las operaciones (te informa sobre todos los archivos añadidos).-f
: especifica el nombre del archivo.-x
: extrae archivos del archivo.-t
: muestra el contenido del archivo.
Ejemplos de uso
1. Creación de un archivo
tar -cvf archive.tar file1.txt file2.txt
- Crea un archivo
archive.tar
a partir de dos archivosfile1.txt
yfile2.txt
. -c
: crea un nuevo archivo.-v
: muestra en la terminal todo el proceso de adición de archivos.-f
: especifica que el nombre del archivo esarchive.tar
.
2. Archivado de una carpeta
tar -cvf project.tar /home/user/project
- Crea un archivo
project.tar
que incluye toda la carpeta/home/user/project
.
3. Extracción de un archivo
tar -xvf archive.tar
- Extrae el archivo
archive.tar
en el directorio actual.
4. Ver el contenido de un archivo
tar -tvf archive.tar
- Muestra una lista de archivos y carpetas en el archivo.
3. Compresión con gzip
¿Qué hace gzip
?
Si tar
es una caja, entonces gzip
es una bolsa al vacío que reduce su tamaño. gzip
reduce los datos utilizando algoritmos de compresión, lo que lo convierte en una herramienta ideal para ahorrar espacio.
Sintaxis general
gzip [opciones] <archivo>
Ejemplos de uso
1. Compresión de un archivo
gzip file1.txt
- Después de ejecutar, el comando cambiará el archivo
file1.txt
afile1.txt.gz
.
2. Descompresión de un archivo
gunzip file1.txt.gz
- Restaura el archivo original
file1.txt
.
3. Archivado y compresión con tar
y gzip
tar -czvf archive.tar.gz file1.txt file2.txt
- Crea el archivo
archive.tar.gz
, que combina y comprime los archivosfile1.txt
yfile2.txt
.
4. Extracción de un archivo comprimido
tar -xzvf archive.tar.gz
- Descomprime y extrae el contenido del archivo
archive.tar.gz
.
4. Utilidad zip
para crear archivos comprimidos
¿Cuál es la diferencia con tar
?
A diferencia de tar
, zip
crea directamente un archivo comprimido, que por defecto puede ser utilizado en Windows y otros sistemas.
Sintaxis general
zip [opciones] <archivo> <archivos/carpetas>
Ejemplos de uso
1. Crear un archivo zip
zip archive.zip file1.txt file2.txt
- Crea un archivo
archive.zip
, que incluye los archivosfile1.txt
yfile2.txt
.
2. Archivar una carpeta
zip -r project.zip /home/user/project
- Crea un archivo
project.zip
, que incluye toda la carpeta/home/user/project
. -r
: agregar archivos y carpetas de forma recursiva.
3. Extraer contenido de un archivo zip
unzip archive.zip
- Extrae el contenido del archivo
archive.zip
.
5. Diferencias entre tar
, gzip
y zip
Utilidad | Archivado | Compresión | Enfoque | Uso principal |
---|---|---|---|---|
tar |
✅ | ❌ | Paquete de archivos | Combinar archivos en un archivo sin compresión |
gzip |
❌ | ✅ | Compresión | Reducir el tamaño de archivos o archivos archivados individuales |
zip |
✅ | ✅ | Todo en uno | Creación de archivos portátiles |
6. Tarea práctica
- Crea un archivo
backup.tar
con el contenido de la carpeta/home/user/documents
. - Comprime el archivo usando
gzip
para obtenerbackup.tar.gz
. - Extrae el archivo en otro directorio, por ejemplo,
/tmp/backup
. - Crea un archivo zip
docs.zip
con los archivosdoc1.txt
ydoc2.txt
. - Intenta extraer el contenido de
docs.zip
usando el comandounzip
.
7. Errores típicos y características
1. Error "Permission denied" Si intentas archivar archivos a los que el acceso está restringido, recibirás un mensaje de error. Ejecuta el comando con derechos de administrador: sudo
.
2. ¿Confundido con las opciones? Las opciones de tar
a veces pueden ser confusas. Recuerda que el orden es importante: por ejemplo, primero debes especificar la acción -c
o -x
, y luego las otras opciones.
3. El archivo comprimido no se abre Si accidentalmente aplicaste compresión a un archivo ya comprimido (por ejemplo, gzip archive.tar.gz
), no te preocupes. Simplemente descomprímelo dos veces.
4. Archivo demasiado grande Al usar el comando zip
, excluye archivos temporales o cachés para reducir el tamaño del archivo: zip -r archive.zip folder -x "*.tmp"
.
5. Problemas de compatibilidad Si necesitas compartir el archivo con un usuario de Windows, prefiere zip
, ya que está mejor soportado en este sistema operativo.
Así es como hemos aprendido a archivar y comprimir datos en Linux. Estas herramientas te serán útiles para facilitar el manejo de grandes volúmenes de datos, su transferencia y protección contra pérdidas. ¡Pasa al siguiente tema que el conocimiento solo seguirá creciendo! 🎉
GO TO FULL VERSION