Como utilizar el comando tar

¡Bienvenido! Hoy vamos a ver como utilizar el comando tar y para que sirve. Serán explicaciones sobre todo enfocadas a personas que están empezando.

El comando tar es un empaquetador o compactador. Es decir guarda varios ficheros dentro del mismo. Por defecto lo hace sin compresión, pero como
veremos mas adelante puede comprimir.

Video

Este vídeo también se puede ver en https://youtu.be/Z0Fieq04VA0

A continuación explicamos todo su uso con más detalle.

Crear un fichero tar

Para generar un fichero “.tar” debemos ejecutar la siguiente sentencia:

tar cf fichero.tar file_or_dir

Por ejemplo, queremos incluir el contenido del directorio user1 en el fichero user1.tar le decimos los ficheros o directorios que queremos incluir:

tar cf user1.tar user1

Si queremos incluir mas de un fichero o directorio de una vez lo podemos hacer así:

tar cf fichero.tar file_or_dir file_or_dir2 file_or_dir3

Y si queremos que nos dé información de lo que está haciendo, añadimos la opción “v” como se puede ver en el ejemplo:

tar cvf fichero.tar file_or_dir file_or_dir2 file_or_dir3

Si queremos añadir compresión a un fichero tar durante la creación, se puede añadir la opción “z” para comprimir con gzip:

tar cvfz fichero.tar.gz file_or_dir file_or_dir2 file_or_dir3

O la opción “j” para comprimir con bzip2 (necesita tener instalado bzip2, si no dará error):

tar cvfj fichero.tar.gz file_or_dir file_or_dir2 file_or_dir3

Extraer un fichero tar

Debemos situarnos en el directorio donde queremos extraerlo y ejecutar:  tar xf fichero.tar

Si queremos que nos reporte que está haciendo y los ficheros que está extrayendo se puede añadir la opción “v“:

tar xvf fichero.tar

Este comando extraerá  el fichero tar y lo descomprimirá en caso de estar comprimido.

En caso de querer especificar con el tipo algoritmo de compresión que se quiere descomprimir se puede ejecutar:

  • tar xvfz FICHERO.tgz para gzip
  • tar xvfj FICHERO.tgz para bzip2

Ver el contenido de un fichero tar

Para ver el contenido de un fichero “.tar” ejecutamos el comando:

tar tf fichero.tar

Esto nos devolverá el contenido de un fichero tar simple o comprimido. Nos devolverá un listado de ficheros y directorios contenidos.

 

Añadir ficheros a un fichero tar existente

Para añadir ficheros y/o directorios a un fichero tar existente podemos utilizar el comando:

tar rf fichero.tar ad_new

Es importante recalcar que el fichero no debe estar comprimido. Si está comprimido nos dará error al modificarlo.

Para modificar un fichero “.tar” comprimido, debemos descomprimirlo con su comando correspondiente.

Después podremos añadir los ficheros y/o directorios que queremos añadir sin ningún problema. Cuando termine este proceso lo podemos volver a comprimir.

Modificar un fichero tgz o tar.gz

Para descomprimir un fichero “.tar.gz” o “.tgz” hay que ejecutar:

gunzip FICHERO.tar.gz

Esto nos creará el fichero “FICHERO.tar“.

Ya podremos ejecutar el comando “tar rf FICHERO.tar FICHEROS_NUEVOS”.

Después podemos comprimir el fichero con el comando gzip:

gzip FICHERO.tar

Esto generará de nuevo el FICHERO.tar.gz

Modificar un fichero tar.bz2

Este proceso es muy similar al de gzip comentado anteriormente.

Para descomprimir un fichero “.tar.bz2”  hay que ejecutar:

bunzip2 FICHERO.tar.bz2

Esto nos creará el fichero “FICHERO.tar“.

Ya podremos ejecutar el comando tar rf FICHERO.tar FICHEROS_NUEVOS.

Después podemos comprimir el fichero con el comando bzip2:

bzip2 FICHERO.tar

Esto generará de nuevo el FICHERO.tar.bz2

 

Backups con el comando tar

Para crear un backup del sistema con el comando tar podemos ejecutar lo siguiente:

tar cf /backup.tar / --exclude=/backup.tar --exclude=/sys --exclude=/tmp --exclude=/var/run/ --exclude=/proc

Esto nos generará un fichero con todo el contenido del nuestro sistema operativo pero excluyendo los directorios de tiempo de ejecución “/sys”, “/proc”, “/tmp” 

También se excluye el propio fichero.

Para hacer lo mismo pero comprimido con gzip se puede ejecutar el siguiente comando (recuerda que si quieres que se comprima con bzip2 solo debes sustituir “z” por “j”):

tar cfz /backup.tgz / --exclude=/backup.tar --exclude=/sys --exclude=/tmp --exclude=/var/run/ --exclude=/proc

Deja una respuesta