Archivando y comprimiendo ficheros en Linux
Los términos lossy y lossless se refieren a dos tipos de compresión de datos utilizados para reducir el tamaño de archivos sin (o con poca) pérdida de calidad. Aquí están las diferencias clave:
1. Compresión Lossy (con pérdida)
- Descripción: Este tipo de compresión elimina algunos datos del archivo original para reducir significativamente su tamaño. Es irreversible; una vez comprimido, no se puede recuperar el archivo original en su totalidad.
- Uso común: Se usa principalmente en formatos de audio, video e imágenes donde una pequeña pérdida de calidad es aceptable.
- Ejemplos:
- JPEG para imágenes: Elimina detalles que el ojo humano no percibe fácilmente.
- MP3 para audio: Suprime sonidos fuera del rango de audición humana.
- MPEG para video.
- Ventaja: Reducción drástica del tamaño de los archivos.
- Desventaja: La calidad del archivo se reduce, y si se aplica demasiada compresión, la pérdida puede volverse notoria.
2. Compresión Lossless (sin pérdida)
- Descripción: Este tipo de compresión preserva todos los datos originales, lo que permite que el archivo sea restaurado exactamente a su estado original después de ser descomprimido.
- Uso común: Se usa cuando es crucial mantener la integridad de los datos, como en imágenes, texto y archivos de software.
- Ejemplos:
- PNG para imágenes: Mantiene todos los detalles sin sacrificar calidad.
- FLAC para audio: Almacena música sin perder calidad.
- ZIP o RAR para archivos en general.
- Ventaja: No se pierde ninguna información del archivo original.
- Desventaja: Los archivos no se comprimen tanto como con la compresión lossy.
En resumen, la compresión lossy es útil cuando el tamaño es más importante que la calidad perfecta, mientras que lossless es preferible cuando la calidad del archivo es crítica.
Compresión en linux
En linux tenemso gzip
gzip nombre_del_archivo
Cuadno veamos el archivo resultante veremos nombre_del_archivo.gz
la extension gz lo que hace
es indicarnos con que software fue comprimido. Si lo haces con winrar veras _.rar.
Si al intentar descomprimir nos tira error,puede deberse a que si es .rar tenemos que descomprimirlo con rar o cualquiera que nos indique la extension.
Descompresion
Para descomprimir hacemos
gunzip nombre_del_archivo.gz
O tambien
gzip -d nombre_del_archivo.gz
Si quisieramos hacer gzip sobre un directorio, no podremos asi nomas. Tenemos que hacer gzip -r /directorio
pero esto no comprimira el directorio en si mismo sino que, a primer nivel zipeara cada una de las carpetas.
Esto es asi a proposito, veremos mas adelante como zipear un directorio entero.
Comprimir se refiere a comprimir un solo archivo. Archivar es juntar todos los archivos y directorios en un solo fichero.gz Cuando veas un directorio archivado veras algo como
tar.gz
.
Bzip2
Esta herramienta es un poco mas lenta pero el resultado de la compresión es aun mayor.
Comprimiendo:
bzip2 nombre_del_archivo
Descomprimiendo:
bunzip2 nombre_del_archivo.bz2
Archivando ficheros: tar
Como dijimos antes la extension de un archivado es .tar.gz
Cuando archivamos lo que hacemos es juntar un conjunto de ficheros
en uno solo, es una manera de organizar,pero el ficheros final archivado
pesa mas no menos. Entonces lo que se suele hacer es con tar
archivamos
y luego con gzip
comprimimos.
Archivemos:
tar -cf ficheros.tar ./fichero*
-c
lo que indica es que queremos crear un nuevo archivo.-f
indica el nombre de ese nuevo archivo.- Luego agregamos los archivos que queremos archivar.
En el ejemplo de arriba ./fichero* indica que queremos archivar todos los archivos que comiencen con con fichero
Desarchivemos
tar -xvf ficheros.tar
x
para extraerv
verbosef
indicamos el fichero a desarchivar
Archivando y comprimiendo con tar y gzip
tar -czf ficheros.tar.gz ./fichero*
Descomprimiendo y desarchivando
tar -xf ficheros.tar.gz
Comprimiendo y archivando con tar y bzip2
tar -cjf ficheros.tar.bz2 ./fichero*
Archivar y comprimir con zip
Esta herramienta archiva y comprime ficheros.
Comprimiendo un fichero
zip syslog.zip /var/logs/syslog
Archivando y comprimiendo al mismo tiempo
Por default zip ya lo hace
zip -r miDir.zip mi-dir/
El resultado sera un solo archivo archivado y comprimido
Cuando descomprimamos miDir.zip obtendremos la misma estructura de ficheros que la original.
unzip miDir.zip