Tabla de contenido
¡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 gziptar 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