compresores_desde_la_terminal

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
compresores_desde_la_terminal [2024/02/01 16:49] peroncompresores_desde_la_terminal [2024/02/26 18:04] (actual) peron
Línea 1: Línea 1:
-====== Compresores desde la terminal ======+====== Comprimir y descomprimir desde la terminal ======
  
-Cada fichero ocupa una determinada cantidad de espacio en un dispositivo de almacenamiento. Los programas compresores utilizan distintos algoritmos a fin de reducir la cantidad de espacio requerido para almacenar la información.+Cada fichero ocupa espacio en un medio de almacenamiento.
  
-=====Comprimir===== +Existen programas //compresores// que - por medio de distintos //algoritmos de compresión// someten el contenido de un fichero a un de análisis computacional y eliminación de redundancias, con el fin de reducir el espacio que este ocupaba. 
-===gz=== + 
-Comprimime __un único ''fichero.ext''__ con gzip para generar un fichero ''.gz'' comprimido con una implementación libre del algoritmo LZW.+Esto es especialmente útil para achicar el fichero para su transmisión o conservación definitiva. 
 + 
 +Los sistemas similares a [[Unix]] cuentan con varios de estos compresores, pues existen varios formatos comprimidos. Podrás manejarlos desde la [[terminal_de_computadora|consola]], operando casi siempre con opciiones muy similar: conservan una copia del fichero original y una comprimida con ''-k'' y descomprir con ''-d''
 + 
 +Los formatos comprimidos más comunes son: 
 + 
 +====.gz==== 
 +**GNU Zip** es un programa de compresión estándar de baja performance. Sólo es capaz de comprimir __un solo fichero__ 
 +==Compresión de .gz == 
 +Usa el programa **gzip** para comprimir ''fichero.ext''. Esto creará una copia comprimida con extensión ''.gz'':
  
 <code bash> <code bash>
Línea 11: Línea 20:
 </code> </code>
  
-> El sufijo ''-k'' indica conservar el ''fichero.ext'' original. Si omites este sufijo, gzip eliminará el original.+> El sufijo ''-k'' indica conservar el ''fichero.ext'' original. Si lo omites, gzip comprime el fichero en ''fichero.ext.gz''
 +== Descompresión de .gz== 
 +Usa **gzip** con el indicador ''-d'' para descomprimir un fichero ''.gz'':
  
-=== bz2 === +<code bash> 
-Comprime __un único fichero__ con el protocolo **bzip2** para generar un fichero ''.bz2'' (computacionalmente mucho más efectivo que gzip, aunque menos extendido y compatible).+gzip -d fichero.gz 
 +</code>
  
-<code bash>bzip2 -k fichero.ext</code>+Si deseas leer el contenido de un fichero de texto comprimido en un ''.gz'', usa **zcat**:
  
-===tar.gz===+<code bash>zcat fichero.gz | less</code>
  
-Si deseas comprimir __varios ficheros o directorios__colócalos en un ''~/directorio'', empaquétalos en un fichero ''.tar'' y comprímelos con gzip (formando un fichero ''tar.gz'')+ 
 +==== .bz2 ==== 
 +**bzip2** requiere mayor potencia de cómputo que GNU Zip pero comprime más efectivamente. Sin embargoestá menos extendido en otras plataformas. 
 + 
 +==Compresión de .bz2== 
 +Usa **bzip2** para comprimir __solo un fichero__ y generar un archivador ''.bz2''
 + 
 +<code bash>bzip2 -k fichero.ext</code> 
 +==Descompresión de .bz2== 
 +Usa **bzip2** con el sufijo ''-d'' para descomprime el fichero ''.bz2''.
  
 <code bash> <code bash>
-tar czvf archivocomprimido.tar.gz ~/directorio/*+bzip2 -d fichero.bz2
 </code> </code>
  
->Un fichero ''tar.gz'' que contiene un árbol de directorios con código fuente de un programa - un uso común de tar.gz - recibe el el apodo de "tarball".+Si sólo deseas leer el contenido de un fichero de texto comprimido con ''.bz2'', usa **bzcat**:
  
-===tar.xz=== +<code bash>bzcat fichero.bz2 | less</code>
-Para la distribución de programas compilados, comprime empaquetados de ficheros binarios con el protocolo **xz**: +
-<code bash>tar -cJf programa.tar.xz fichero_binario</code>+
  
-===Zip=== +====.xz==== 
-Los ''.zip'' son ficheros empaquetado comprimido con el popular protocolo privativo **PKZip**.  +La compresión más extrema (de menor velocidad) la logra el compresor **xz**. 
-Puedes comprimir varios ficheros o directorios y generar un ''ficherocomprimido.zip'' usando una implementación el protocolo **PKWare Zip**.+==Compresión de .xz== 
 +Con el programa **xz** podrás comprimir __un solo fichero__; esto generará un fichero ''.xz''.
  
-<code bash>zip fichero_comprimido.zip fichero1 fichero2 fichero3</code>+<code bash>xz -k fichero.ext</code>
  
-o también comprimir un directorio (con los ficheros y subdirectorios que contenga):+==Descompresión de .xz== 
 +Decomprime un ''fichero.xz'' con:
  
-<code bash>zip -r fichero_comprimido.zip directorio</code>+<code bash>xz -d fichero.xz</code>
  
->A pesar de que el protocolo PKware ZIP está muy extendido en todo tipo de plataformas, no contempla ciertos atributos especiales utilizados en los sistemas tipo UNIX (posesión de los archivos, ciertos permisos, etc). Por tal motivo el método recomendado en UNIX es usar [[compresores#tar.gz||tar.gz]]. 
  
 +==== .tar ====
 +El programa **tar** se usa para crear un //archivador// ''.tar'', un fichero concebido para contener varios ficheros e incluso directorios, encadenándolos binariamente uno tras otro.
  
-===== Descomprimir =====+>Originalmente estaba pensado para almacenar este fichero archivado en un medio de almacenamiento secuencial, como un carrete de cinta magnética (en una era donde la cinta era el principal medio de almacenamiento de masa).
  
-=== gz === +==Archivar en .tar== 
-Descomprime un fichero ''.gz'' utilizando el comando **gzip** con el indicador ''-d'' (descomprimir) o bien el comando **gunzip**, (realmente un enlace a gzip, por si nos falla la memoria).+Archiva todos los ficheros contenidos de un ''directorio'' con tar: 
 +<code bash>tar cvf archivoempaquetado.tar directorio/*</code> 
 + 
 +==Desarchivar un .tar== 
 +Extrae el contenido de un fichero ''.tar''
 + 
 +<code bash>tar xvf archivoempaquetado.tar</code> 
 + 
 +====Comprimir archivadores .tar==== 
 +Si bien es posible crear un archivador ''.tar'' y comprimirlo en dos pasos, **tar** contempla la compresión y descompresión directa del archivador en un único paso: 
 + 
 +===.tar.gz=== 
 + 
 +==Comprimir un archivador .tar.gz== 
 +Si no lo has hecho, coloca los ficheros que desees en un ''~/directorio'', y [[#archivar en tar|archívalo en un fichero ''.tar'']], y comprímelo con **gzip**.  
 + 
 +Archiva __varios ficheros o directorios__ y comprímelos con gzip, creando un archivo ''tar.gz''
  
 <code bash> <code bash>
-gunzip fichero.gz +tar czvf archivocomprimido.tar.gz ~/directorio/*
-gzip -d fichero.gz+
 </code> </code>
  
-Si en lugar de descomprimir el contenido de un fichero .gz sólo deseas leerlo, puedes usar zcat:+>Un archivo ''tar.gz'' que contiene un árbol de directorios con código fuente de un programa - un uso común de este tipo de ficheros - recibe el el apodo de "tarball".
  
-<code bash>zcat fichero.gz | less</code>+==Descomprimir un archivador .tar.gz== 
 +Descomprime con gzip y extrae el contenido del archivador comprimido ''.tar.gz'' (en ocasiones puede aparecer como ''.tgz'' en Windows):
  
-==== tar ==== +<code bash>tar xvzf archivo.tar.gz</code>
-El fichero empaquetado ''.tar'' deriva de la función **tar**, pensada para encadenar binariamente ficheros uno tras otro. Originalmente estaba pensado para almacenar este agrupamiento o empaquetado de archivos en cinta magnética (en la era donde tales dispositivos secuenciales eran los principales medios de almacenamiento de masa)+
  
 +__Ver también__: [[gpgtar]]
 +=== .tar.bz2 ===
 +== Comprimir el archivador .tar.bz2 ==
 +Archiva y comprime el contenido del archivo .tar.bz2 con bzip2:
  
->Realmente en un archivo Tar carece de compresión, solamente define el empaquetado secuencial de los ficheros contenidos+<code bash> 
 +tar cvjf archivo.tar.bz2 directorio/
 +</code>
  
-Desempaqueta un fichero ''.tar'' con:+== Descomprimir el archivador .tar.bz2 == 
 +Descomprime y extrae el contenido del fichero ''tar.bz2'':
  
-<code bash>tar xvf fichero.tar</code>+<code bash>tar xvjf archivo.tar.bz2</code>
  
-=== tgz, tar.gz === +===.tar.xz=== 
-Desempaqueta descomprime el ''.tar.gz''''.tgz'' en Windows - con tar, añadiendo el indicador ''z'' para indicar el uso de gzip:+Es similar al tar.gz, pero comprime mejor el archivador gracias al protocolo **xz**: 
 +== Comprime el archivador .tar.xz== 
 +En BSD debes crear primero el tar luego comprimirlo con xz para crear el ''archivo.tar.xz''
 +<code bash> 
 +tar cvf archivo.tar directorio/* ; 
 +xz archivo.tar 
 +</code>
  
-<code bash>tar xvzf fichero.tar.gz</code>+>tar.xz se suele especificar para empaquetado de binarios de software.
  
-==tar.xz === +==Descomprime el archivador .tar.xz== 
-Descomprime el ''.tar.xz'' con tar, añadiendo el indicador J para indicarlo: +En BSD debes descomprimir el ''.tar.xz'' con **xz** y desarchiva su contenido:
- +
-<code bash>tar -xJf fichero.tar.xz</code> +
-  +
-=== bz2 === +
-Descromprime el fichero ''.bz2'' usando el programa **bzip2** con el sufijo ''-d'' ("descomprimir") o bien el comando **bunzip2** (que no es más que un enlace a bzip2).+
  
 <code bash> <code bash>
-bzip2 -d fichero.bz2 +xz -d archivo.tar.xz ; 
-bunzip2 fichero.bz2+tar xf archivo.tar
 </code> </code>
  
-=== tar.bz2 === +====.zip==== 
-Este es un empaquetado //tar// en el cual se empleó el algoritmo de compresión abierto bzip2Para desempaquetar se usa también el comando **tar**aunque esta vez se lo descomprime con el indicador j en lugar de z.+Los archivos comprimidos ''.zip''/''.ZIP'' fueron desarrollados por Phil Katzy extremadamente populares en múltiples plataformas y sistemas operativos. Úsalos si debes transferir ficheros comprimidos a otras plataformas como Windows.  
 +==Comprimir .zip== 
 +Comprime varios ficheros o directorios y generar un ''archivo.zip'':
  
-<code bash>tar xvjf archivo.tar.bz2</code>+<code bash>zip fichero_comprimido.zip fichero1 fichero2 fichero3</code>
  
-==zip === +...o puedes usar la opción (''-r'') para comprimir recursivamente los contenidos de directorio/s, con los ficheros y subdirectorios que contenga/n: 
-Descomprime un ''.zip'' usando el comando gzip ''-d'' o bien **unzip**:+ 
 +<code bash>zip -r archivo_comprimido.zip directorio</code> 
 +==Descomprimir .zip== 
 +Descomprime un archivo comprimido ''.zip'' con gzip ''-d'':
  
 <code bash> <code bash>
-unzip fichero.zip+unzip archivo.zip
 </code> </code>
  
-=== rar ===+ 
 +>A pesar de que el protocolo PKware ZIP funcionan en la mayoría de las plataformas, no contempla ciertos atributos especiales utilizados en sistemas tipo [[UNIX]] (posesión de los archivos, ciertos permisos, etc). Por tal motivo el método recomendado en UNIX es usar [[#comprimir tar.gz|''tar.gz'']]. Ambos presentan una compresión reducida. 
 +==== rar ====
 El ''.rar'' es un formato de empaquetado y compresión propietario de A. Roshal, muy extendido. Descomprímelo con: El ''.rar'' es un formato de empaquetado y compresión propietario de A. Roshal, muy extendido. Descomprímelo con:
 <code bash>rar -x fichero.rar</code> <code bash>rar -x fichero.rar</code>
  • compresores_desde_la_terminal.1706806175.txt.gz
  • Última modificación: 2024/02/01 16:49
  • por peron