Compresión y empaquetado: tar, gzip, bzip2, xz, zip, tzstd
...
Introducción
En Linux es muy común comprimir archivos para ahorrar espacio o empaquetar varios archivos en uno solo para transportarlos o hacer copias de seguridad
tar — Empaquetar archivos
tar agrupa varios archivos o carpetas en un solo archivo, pero por sí solo no comprime.
Sintaxis básica
$ tar [opciones] archivo.tar carpeta/
Ejemplo Agrupar:
$ tar -cvf copia.tar documentos/
Crea el archivo, muestra los añadidos por consola y indica el nombre al final
Ejemplo Desagrupar:
$ tar -xvf copia.tar
Extrae todos los archivos en la carpeta actual.
Ejemplo Listar sin extraer:
$ tar -tvf copia.tar
Muestra la lista de archivos incluidos.
Opciones frecuentes
- -c Crear archivo
- -x Extraer
- -f Nombre del archivo
- -t lista los contenidos del archivo
gzip — Compresión rápida
gzip comprime archivos individuales. Es rápido y muy usado en logs y copias. Por defecto borra el fichero de origen para crear el comprimido.
Sintaxis básica
$ gzip archivo.txt
Ejemplo Comprimir:
$ gzip informe.txt
Resultado: informe.txt.gz
Ejemplo Comprimir sin borrar:
$ gzip -k informe.txt
Resultado: informe.txt.gz y el original informe.txt
Ejemplo Descomprimir:
$ gzip -d informe.txt.gz
Resultado: informe.txt
bzip2 — Mayor compresión
bzip2 comprime más que gzip, pero tarda más. Por defecto borra el fichero de origen para crear el comprimido.
Sintaxis básica
$ bzip2 [opciones] archivo.txt
Ejemplo: Comprimir
$ bzip2 archivo.txt
Genera el archivo con extensión bz2
Ejemplo: Descomprimir
$ bzip2 -d archivo.txt.bz2
Opciones frecuentes
- -d Descomprimir
- -k Mantener original
xz — Alta compresión
xz ofrece mejor compresión que gzip y bzip2. Por defecto borra el fichero de origen para crear el comprimido.
Sintaxis básica
$ xz [opciones] archivo.txt
Ejemplo: Comprimir
$ xz archivo.txt
Crea el fichero archivo.txt.xz
Ejemplo: Descomprimir
$ xz -d archivo.txt.xz
Descomprime el fichero archivo.txt.xz y crea el archivo.txt !!
Opciones frecuentes
- -d Descomprimir
- -k Mantener original
zip — Formato compatible y práctico
zip comprime archivos y carpetas en un formato compatible con muchos sistemas.
Sintaxis básica
$ zip archivo.zip archivos
Ejemplo: Comprimir
$ zip documentos.zip informe.txt foto.jpg
Comprime los ficheros en un zip
Ejemplo: Comprimir Directorio
$ zip -r backup.zip documentos/
Comprime los ficheros del directorio en un zip
Ejemplo: Descomprimir
$ unzip backup.zip
Opciones frecuentes
- -r Recursivo
- -9 Máxima compresión
tzst (tar + zstd) — Muy rápido y eficiente
.tar.zst o .tzst combina: empaquetado (tar) compresión con zstd Es moderno, rápido y con buena compresión.
Sintaxis básica
$ tar --zstd -cvf archivo.tar.zst carpeta/
Ejemplo: Comprimir
$ tar --zstd -cvf copia.tar.zst documentos/
Qué hace: empaqueta documentos/ y lo comprime con zstd
Ejemplo: Descomprimir
$ tar --zstd -xvf copia.tar.zst