4.3.1.- La utilidad tar

tar_tituloEl nombre del programa tar viene de tape archiver (archivador de cinta). Es un formato de archivos ampliamente usado en entornos UNIX/Linux, identificados por el sufijo de archivo .tar. Además hace referencia al programa para la manipulación de archivos que es estándar en estos entornos, pero no incluye la compresión de los mismos. Debido a este origen el fotux_tarrmato está preparado para ser procesado linealmente, no contando con manera de extraer un miembro sin recorrer todo el archivo hasta encontrarlo.

El programa tar es un paquete completo con muchas opciones, aunque la mayoría de lo que hará con esta utilidad podemos abarcarlo con algunos comandos habituales. La sintaxis es:

tar_sintaxis

 Donde <archivoSalida> es el archivo resultado y <archivo1>, <archivo2>, etcétera son los diferentes archivos que serán “empaquetados” en <archivoSalida>. Este proceso permite respaldar archivos, compartirlos, transmitirlos por Internet o por redes locales de una forma fácil.

Comandos tar
Comando Abreviatura Descripción
--create c Crea un archivo.
--concatenate A Añade ficheros tar a un archivo.
--append r Añade ficheros que no son de tar
--update u Añade ficheros más recientes que los del archivo.
--diff o --compare d Compara un archivo con los ficheros del disco.
--list t Lista el contenido de un archivo.
--extract o --get x Extrae ficheros de un archivo.

Modificadores de tar
Modificador Abreviatura Descripción
--directory dir C Pasa al directorio dir antes de realizar las operaciones.
--file [hpst:] fichero f Utiliza el fichero file en el ordenador host como fichero de archivo.
--listed-incremental fichero g Realiza una copia o restauración incremental, utilizando fichero como lista de ficheros previamente archivados.
--one-file-system l (en algunas versiones) Copia o restaura sólo un sistema de ficheros (partición).
--multi-volumen M Crea o extrae un archivo multi-cinta.
--tape-length N L Cambia las cintas tras N kilobytes.
--same-permissions P Mantiene la / inicial en los nombres de ficheros.
--verbose v Lista todos los ficheros leídos o extraídos; cuando se utiliza con --list, muestra los tamaños de fichero, su propiedad y las marcas temporales.
--verify W Verifica el archivo tras escribir en éste.
--exclude fichero (ninguna) Excluye el fichero del archivo.
--exclude-from fichero X Excluye del archivo los ficheros listados en el fichero.
--gzip o --ungzip z Procesa un archivo mediante gzip.
--bzip2 j (algunas versiones anteriores usan I o y Procesa un archivo mediante bzip2.

De los comandos listados en la tabla “Comandos tar“, los más utilizados habitualmente son --create, --extract y --list. Los modificadores más útiles de la segunda tabla “Modificadores tar” son --file, --listed-incremental, --one-file-system, --same-permissions, --gzip, --bzip2 y --verbose. Si nos equivocamos al especificar un nombre de fichero con el modificador --file, tar intentará utilizar un dispositivo por defecto, que será probablemente (aunque no siempre) un fichero de dispositivo de cinta.

Veamos un ejemplo, comprimiremos en nuestro penUSB de prácticas los archivos que contiene con tar:

tar_crear

Desglosando:

tar_desglose_1

tar_desglose_2

tar_desglose_3

Para transferir estos ficheros nuevamente (primero borraremos todos los ficheros del penUSB menos el que hemos creado) debemos extraerlos con otro comando:

tar_extraeDesglosando:

tar_desglose_extraer_1

Generalmente la extensión de los ficheros comprimidos con tar es .tgz; pero cualquier extensión es válida (siempre que sea de uso personal y sepamos que es un archivo comprimido con tar).

 tar_desglose_5