Los ficheros tar no son ficheros comprimidos, sino empaquetados.
Tar es un empaquetador, es decir, es algo parecido a un compresor
como arj o zip, pero sin compresión. Se dedica a incluir todos los
ficheros juntos en el mismo archivo, preservando las estructuras
de directorios y permisos de los mismos. Como veremos, lo podremos
comprimir gracias al programa GZip.
Hay 2 operaciones básicas con tar: empaquetado y desempaquetado.
Si estamos en un directorio y queremos empaquetar todos los ficheros
de este directorio y los que cuelgan de él, basta con ejecutar
la orden:
tar -cvf fichero.tar *
c = compress (más bien, empaquetar)
v = verbose (para que nos diga lo que hace)
f = file (empaquetar en un fichero)
* (empaquetar todos los ficheros, podría haber sido *.doc, etc.)
Si disponemos de un fichero .tar y queremos desempaquetarlo:
tar -xvf fichero.tar
x = eXtract (desempaquetar).
También es posible listar los contenidos de un fichero .tar antes
de desempaquetarlo, mediante la orden tar -tvf fichero.tar .
Por otra parte, el ficheros con extensión gz son ficheros
comprimidos.
A diferencia de arj o zip, el contenido de un fichero GZ es un solo
fichero, es decir, cuando comprimimos fichero.txt con este compresor
(llamado gzip) obtenemos un fichero.txt.gz de tamaño mucho menor. Con
GZ no es posible empaquetar ficheros, es decir, la compresión se
realiza a un sólo fichero.
Para comprimir un fichero con gz, se utiliza el comando:
gzip fichero
Para descomprimirlo:
gunzip fichero.gz
La combinación de tar y gz es lo que permite el tener multiples
ficheros comprimidos en un sólo archivo. Es decir, si empaquetamos
un directorio con tar y luego comprimimos ese archivo tar con gz,
obtenemos un tar.gz comprimido con múltiples ficheros.
La compresión y descompresión es posible hacerla en 2 pasos (primero
tar y luego usar gz) o bien usar el flag -z de tar para ello:
Compresión:
tar -cvzf fichero.tar.gz *
Descompresion:
tar -xvzf fichero.tar.gz
Otro formato que se ha puesto de moda es bzip2, con el mismo
sistema de funcionamiento que Gzip, y cuyos nombres de ejecutable
son bzip2 (comprimir) y bunzip2 (descomprimir). Este compresor
obtiene mejor compresión que Gzip y su funcionamiento es igual
de sencillo, aunque tarda mas en comprimir y utiliza mas recursos.
Estos compresores/descompresores/empaquetadores son una gran
y libre alternativa a formatos comerciales como zip, arj y rar,
también disponibles para Linux (comandos zip, unzip, rar y unarj).
Para descomprimir ficheros arj mediante unarj, simplemente
hace falta ejecutar el comando unarj x fichero.arj. El compresor
es shareware y se debe obtener en la Web de sus programadores.
Zip es el programa destinado a hacer Linux capaz de leer y
escribir los ficheros en formato .zip (generados por pkzip o
winzip): Para ello tenemos los comandos zip e unzip, que nos
permitiran comprimir y descomprimir ficheros sueltos, directorios
completos, directorios con recursividad, etc:
Para comprimir todos los ficheros de un directorio en un zip:
zip fichero.zip *
Para comprimir este directorio y todos los que cuelguen del mismo:
zip -r fichero.zip *
La descompresión se realiza mediante unzip:
unzip fichero.zip
El programa rar también es un buen compresor que podemos encontrar
en diferentes formatos (rpm, deb, tar.gz) en Internet. Su uso es
identico a la versión MSDOS: