Tar en Linux: Guía Completa de Tar CVF y Tar XVF con Ejemplos

Tar en Linux: Guía Completa de Tar CVF y Tar XVF con Ejemplos

El comando tar en Linux es una herramienta versátil que permite crear archivos de archivo, conocidos como archivos .tar, para compactar, almacenar y restaurar conjuntos de archivos y directorios. Su nombre, proveniente de «Tape Archive», refleja su origen en la época de las cintas magnéticas, donde se utilizaba para archivar datos. A pesar de su antigüedad, tar sigue siendo un comando esencial en Linux y se utiliza ampliamente para la administración de archivos, la creación de copias de seguridad y la transferencia de datos.

Este artículo se centra en dos de los comandos tar más comunes: tar cvf y tar xvf. Exploraremos en detalle cómo utilizar estos comandos para crear archivos .tar, extraer su contenido y comprender las opciones adicionales disponibles para comprimir archivos, dividirlos en partes más pequeñas y transferir archivos de forma remota.

Creando Archivos Tar con Tar CVF

El comando tar cvf es la base para la creación de archivos .tar.

Comprender las Opciones:

  • c: Indica a tar que cree un nuevo archivo de archivo.
  • v: Activa el modo verboso, mostrando los archivos que se están procesando.
  • f: Especifica el nombre del archivo .tar que se creará.

Ejemplo Básico:


tar cvf archivo.tar directorio/

Este comando creará un archivo llamado archivo.tar que contendrá todos los archivos y subdirectorios dentro del directorio directorio/. La opción v mostrará en la terminal los archivos que se están agregando al archivo .tar.

Opciones Adicionales:

  • –exclude: Excluye archivos específicos del archivo .tar.
  • –transform: Permite modificar los nombres de archivo antes de incluirlos en el archivo .tar.
  • –owner: Establece el propietario del archivo .tar.
  • –group: Establece el grupo del archivo .tar.
  • –mode: Establece los permisos del archivo .tar.

Ejemplo con Opciones:

LEER:  Find Command en Linux: Guía Completa con Ejemplos


tar cvf archivo.tar --exclude="*.log" --owner=root --group=admin directorio/

Este comando creará un archivo archivo.tar que incluirá todos los archivos y subdirectorios del directorio directorio/ excepto aquellos con la extensión .log. El propietario del archivo .tar será root y el grupo será admin.

Comprimiendo Archivos Tar con Tar Z

Para comprimir un archivo .tar utilizando la compresión gzip, se añade la opción z al comando tar.

Ejemplo:


tar czvf archivo.tar.gz directorio/

Este comando creará un archivo archivo.tar.gz que contendrá los archivos del directorio directorio/ comprimidos con gzip.

Opciones de Compresión:

  • z: Utiliza gzip para la compresión.
  • j: Utiliza bzip2 para la compresión.
  • J: Utiliza xz para la compresión.

Ejemplo con Compresión Bzip2:


tar cjf archivo.tar.bz2 directorio/

Este comando creará un archivo archivo.tar.bz2 que contendrá los archivos del directorio directorio/ comprimidos con bzip2.

Extrayendo Archivos Tar con Tar XVF

El comando tar xvf se utiliza para extraer el contenido de un archivo .tar.

Comprender las Opciones:

  • x: Indica a tar que extraiga el contenido del archivo .tar.
  • v: Activa el modo verboso, mostrando los archivos que se están extrayendo.
  • f: Especifica el nombre del archivo .tar que se va a extraer.

Ejemplo Básico:


tar xvf archivo.tar

Este comando extraerá todos los archivos y directorios del archivo archivo.tar en el directorio actual. La opción v mostrará en la terminal los archivos que se están extrayendo.

Opciones Adicionales:

  • –directory: Especifica el directorio donde se extraerán los archivos.
  • –strip-components: Elimina los componentes del nombre de archivo durante la extracción.
  • –wildcards: Permite utilizar comodines para extraer archivos específicos.

Ejemplo con Opciones:


tar xvf archivo.tar --directory=destino/

Este comando extraerá todos los archivos y directorios del archivo archivo.tar al directorio destino/.

Dividiendo Archivos Tar con Split

El comando split se utiliza para dividir un archivo .tar en partes más pequeñas. Esto puede ser útil cuando se trabaja con archivos .tar grandes que necesitan ser transferidos a través de una red o almacenados en medios de almacenamiento con límites de tamaño de archivo.

LEER:  ipcalc: Manipulación Sencilla de Direcciones IP en Linux

Ejemplo:


split -b 1024m archivo.tar archivo.tar.

Este comando dividirá el archivo archivo.tar en partes de 1024 MB cada una, nombrando los archivos resultantes como archivo.tar.aa, archivo.tar.ab, etc.

Uniendo Archivos Tar con Cat

Para volver a unir las partes de un archivo .tar dividido, se utiliza el comando cat.

Ejemplo:


cat archivo.tar.* > archivo.tar

Este comando concatenará todas las partes del archivo archivo.tar (es decir, archivo.tar.aa, archivo.tar.ab, etc.) y creará un nuevo archivo archivo.tar.

Transferencia de Archivos Tar con SSH

El comando tar se puede combinar con ssh para transferir archivos de forma remota. Esto permite crear una imagen de un sistema de archivos en un servidor local y enviarla a un servidor remoto.

Ejemplo:


tar cvf - directorio/ | ssh usuario@servidor 'tar xvf - -C /ruta/destino/'

Este comando crea un archivo .tar del directorio directorio/, lo comprime con gzip y lo envía al servidor servidor como usuario usuario. El comando tar xvf - -C /ruta/destino/ en el servidor remoto extrae el archivo .tar en el directorio /ruta/destino/.

Creando Imágenes del Sistema de Archivos

tar se puede utilizar para crear una imagen de un sistema de archivos completo. Esto puede ser útil para la creación de copias de seguridad o para la restauración de un sistema de archivos.

Ejemplo:


tar cvf - / | ssh usuario@servidor 'tar xvf - -C /mnt/punto_montaje/'

Este comando crea una imagen del sistema de archivos raíz (/), la comprime con gzip y la envía al servidor servidor como usuario usuario. El comando tar xvf - -C /mnt/punto_montaje/ en el servidor remoto extrae la imagen en el punto de montaje /mnt/punto_montaje/.

Conclusión

El comando tar es una herramienta esencial para la administración de archivos en Linux. Ofrece una amplia gama de opciones para crear, comprimir, extraer y transferir archivos de forma eficiente. Al dominar el uso de tar cvf y tar xvf, junto con las opciones de compresión, división y transferencia, los usuarios de Linux pueden aprovechar al máximo las capacidades de este comando versátil.

LEER:  Dominar la Línea de Comandos: Un Tutorial Completo de CLI en Windows