Hoy en día existen cientos de programas con muchos formatos que sirven
para empaquetar/desempaquetar y comprimir/descomprimir, pero el único que
esta presente en la mayoría de los sistemas UNIX es el tar, con el podemos
hacer todo lo anterior y mucho mas con todas las opciones que tiene y que
podremos conocer viendo las paginas de su manual.
Para crear un nuevo archivo usamos c, para guardarlo en otro usamos f y
para desempaquetarlo usamos x, así con 'tar cf holas.tar hola*' empaquetamos
en 'holas.tar' todos los archivos del directorio actual que empiecen con
'hola' y con 'tar fx holas.tar' descomprimiria el archivo holas.tar:
$ ls
total 60
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
$ tar -cf holas.tar hola*
$ ls
total 124
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 61440 Mar 26 23:37 holas.tar
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
$ rm holaju*
$ rm holasan*
$ ls
total 64
-rw-r--r-- 1 peter peter 61440 Mar 26 23:37 holas.tar
$ tar fx holas.tar
$ ls
total 124
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 61440 Mar 26 23:37 holas.tar
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
$ rm holas.tar
Para comprimir usando gzip usamos z, por lo que 'tar cfz holas.tar.gz hola*'
empaquetaría y comprimiría todos los archivos que empiecen con 'hola' y
para desempaquetarlo y descomprimirlo usaríamos 'tar xzf holas.tar.gz':
$ ls
total 60
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
$ tar cfz holas.tar.gz hola*
$ ls
total 64
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 1647 Mar 26 23:39 holas.tar.gz
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
$ rm holaju*
$ rm holasan*
$ ls
total 4
-rw-r--r-- 1 peter peter 1647 Mar 26 23:39 holas.tar.gz
$ tar xfz holas.tar.gz
$ ls
total 64
-rw-r--r-- 1 peter peter 30720 Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 1647 Mar 26 23:39 holas.tar.gz
-rw-r--r-- 1 peter peter 24860 Mar 26 23:34 holasanti.txt
Fíjate en la diferencia de tamaño del archivo .tar y del .tar.gz (5ª columna).
Una pequeña tabla con las opciones mas básicas de tar:
Opción: |
Significado: |
-c |
Crea un nuevo archivo |
-f |
El resultado se guarda en un archivo |
-j |
Descomprime un .bz2 |
-k |
No sobreescribe al extraer |
-t |
Lista el contenido de un .tar |
-v |
Describe lo que va haciendo |
-z |
Comprime con gzip |
-Z |
Comprime con Compress (más antiguo) |
-x |
Extrae archivos de otro archivo |
Como hemos visto tar no es un programa de compresión/descompresión ya que
para comprimir utiliza otro programa llamado gzip, los programas de compresión
mas comunes son los siguientes:
gzip y compress:
Como tar no comprime, solo empaqueta, tiene que 'usar' a otro programa
para comprimir.
Para comprimir uno o varios archivos no hace faltan opciones, para descomprimir
usamos -d (fíjate en el tamaño antes y después de la compresión):
$ ls
total 124K
-rw-r--r-- 1 peter peter 30K Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 60K Mar 26 23:39 holas.tar
-rw-r--r-- 1 peter peter 25K Mar 26 23:34 holasanti.txt
$ gzip hola*
$ ls
total 12K
-rw-r--r-- 1 peter peter 885 Mar 26 23:34 holajuan.txt.gz
-rw-r--r-- 1 peter peter 1.7K Mar 26 23:39 holas.tar.gz
-rw-r--r-- 1 peter peter 768 Mar 26 23:34 holasanti.txt.gz
$ gzip -d hola*
$ ls
total 124K
-rw-r--r-- 1 peter peter 30K Mar 26 23:34 holajuan.txt
-rw-r--r-- 1 peter peter 60K Mar 26 23:39 holas.tar
-rw-r--r-- 1 peter peter 25K Mar 26 23:34 holasanti.txt
Una pequeña tabla con las opciones mas comunes de gzip:
Opción: |
Significado: |
-d |
Descomprime. |
-f |
Fuerza la acción. |
-l |
Muestra una lista de los archivos comprimidos. |
-r |
Comprime recursivamente. |
-v |
Muestra lo que va haciendo. |
-n |
Regula la velocidad y el tamaño, en donde 'n' es un numero del 1 al 9,
el 1 es más rápido y el 9 esta más comprimido. |
Conclusión:
Para empaquetar los archivos 'hola' y 'hola2' en holas.gz: tar -cf holas.tar
hola*
Para desempaquetar hola y hola2 de holas.tar: tar -fx holas.tar
Para comprimir hola a hola.gz: gzip hola // tar -czf hola.gz hola
Para descomprimir hola.gz: gzip -d hola.gz // tar -zxf hola.gz
Para empaquetar y comprimir hola y hola2 en holas.tar.gz: tar -czf holas.tar.gz
hol*
Para desempaquetar y descomprimir hola y hola2 que están en holas.tar.gz:
tar -xzf holas.tar.gz
Tabla con las extensiones y los formatos de los programas de compresión
mas populares:
Extensión: |
Formato: |
.tar |
tar |
.gz |
gzip |
.tgz |
tar + gzip |
.bz2 |
bzip2 |
.zip |
zip |
.z |
compress |
|