Comando tar para Linux
Con el comando tar de Linux podemos crear de forma sencilla archivos de cinta o archivos comprimidos que contengan uno o más archivos o directorios. El nombre del comando tar proviene de «Tape Archive».
Las diferencias entre un archivo de cinta TAR y un archivo comprimido TAR, son que el archivo de cinta almacena múltiples archivos y directorios sin comprimir (manteniendo la estructura original y metadatos), mientras que el archivo comprimido ha sido comprimido adicionalmente con una utilidad de compresión para reducir su tamaño y ahorrar espacio (gzip, bzip2, etc).
El comando tar de Linux aparte de ser utilizado para comprimir y descomprimir, es muy utilizado para crear copias de seguridad y transferir archivos entre sistemas.
tar [opciones] [archivo_salida] [un_archivo] [otro_archivo]
Antes de que veamos algún ejemplo veremos algunas de las opciones disponibles para la herramienta tar de Linux. Recuerda que puedes verlas todas escribiendo en la terminal man tar.
Opciones con tar
Es muy recomendable ver mediante la opción de ayuda todas las opciones disponibles, de esta forma aumentamos la potencia de los comandos de Linux de forma increíble.
- -c: crea un archivo de cinta.
- -f: especifica el nombre del archivo de cinta.
- -t: muestra el contenido de un archivo de cinta sin extraer.
- -x: extrae los archivos de un archivo de cinta.
- -C: especifica el directorio en el que vamos a extraer o descomprimir nuestro fichero TAR.
- -z: comprime el archivo usando gzip.
- -j: comprime el archivo usando bzip2.
- -v (verbose): muestra información sobre el proceso de extracción o compresión.
Vamos a ver un ejemplo creando un archivo TAR sin comprimir, es decir, un archivo de cinta. Agruparemos varios ficheros incluidos en un directorio diccionario en un solo archivo llamado cinta.tar sin que haya compresión. Haremos uso también de la opción -v para que nos muestre información del proceso.
tar -cvf cinta.tar diccionario/
Después de crear este archivo TAR sin comprimir haremos uso del comando file para ver qué tipo de archivo hemos creado.
cinta.tar: POSIX tar archive (GNU)

Podemos ver el contenido del archivo TAR recién creado sin necesidad de extraerlo haciendo uso de las opciones -tf.
tar -tf cinta.tar
Ahora vamos a extraer su contenido en un directorio nuevo. Creamos un directorio nuevo llamado extraido haciendo uso del comando mkdir de Linux. Después ejecutamos el siguiente comando:
tar -xf cinta.tar -C extraido
Le estamos indicando que extraiga (-x) el archivo con nombre (-f) cinta.tar en el directorio (-C) que acabamos de crear que se llama extraido.

Comprimir archivos con TAR con Linux
Cuando decidimos comprimir un grupo de archivos o directorios debemos elegir la herramienta con la que realizar la compresión. Estas son algunas de las posibilidades que tenemos: gzip, bzip2, xz, lzma y zip.
Veremos un ejemplo sencillo de compresión con cada una de ellas. Para cada uno de los ejemplos utilizaremos el directorio diccionario que dispone de varios ficheros y directorios.
Compresión de archivo tar con gzip
tar -czvf resultado.tar.gz diccionario/
Compresión de archivo tar con bzip2
tar -cjvf resultado.tar.bz2 diccionario/
Compresión de archivo tar con xz
tar -cJvf resultado.tar.xz diccionario/
Compresión de archivo tar con lzma
tar --lzma -cvf resultado.tar.lzma diccionario/
Compresión de archivo tar con zip
tar -czvf resultado.tar.zip diccionario/
Verificando las compresiones de TAR
Una vez creados vamos a realizar una búsqueda con el comando find para ver si los archivos se han creado correctamente.
find -type f -name '*.tar.*'

Descomprimir archivos tar con Linux
Ahora descomprimiremos todos los ficheros que hemos creado anteriormente. Vamos a darle un nombre a cada descompresión para que podamos identificarlas al final con un listado.
Crearemos con el comando mkdir algunos directorios para cada descompresión.
Descompresión de archivo gzip con tar
tar -xzf resultado.tar.gz -C diccionario/dir_gzip
Descompresión de archivo bzip2 con tar
tar -xjf resultado.tar.bz2 -C diccionario/dir_bzip2
Descompresión de archivo xz con tar
tar -xJf resultado.tar.xz -C diccionario/dir_xz
Descompresión de archivo lzma con tar
tar --lzma -xf resultado.tar.lzma -C diccionario/dir_lzma
Descompresión de archivo zip con tar
tar -xzf resultado.tar.zip -C diccionario/dir_zip