Si estás empezando a recorrer el mundo de los programas de código abierto, es probable que te encuentres archivos .tar.gz como si fueran arroz. La verdad es que los paquetes de código abierto están, por lo general, disponibles para descargar en formatos .zip y .tar.gz.
En este sentido, el comando tar es una excelente opción para crear archivos tar, convirtiendo un grupo de archivos en uno solo. Esto soporta un amplio rango de programas de compresión como gzip, bzip2, Izip, Izma, Izop, xz y compress. El comando tar fue creado, en principio, con la finalidad de crear archivos en una cinta magnética, lo que le dio este llamativo nombre: en inglés Tape Archive
Gzip es el algoritmo más popular si de comprimir archivos tar hablamos. Por lo general, el nombre de un archivo tar comprimido con gzip debería tener las extensiones .tar.gz o .tgz.
En resumen: un archivo cuya extensión sea tar.gz es un archivo que fue comprimido con gzip.
El comando tar también puede ser utilizado para extraer archivos tar, mostrar una lista de archivos que están contenidos en la compresión, y archivos adicionales a un documento ya existente, así como otro amplio rango de operaciones.
En esta guía, aprenderás cómo extraer archivos tar.gz y tgz.
Extraer archivos tar.gz
La mayoría de las distribuciones de Linux y macOS vienen con un comando tar que está pre-instalado por defecto.
Si quieres extraer un archivo tar.gz, puedes utilizar la opción –extract(-x) y especificar el nombre del archivo después de poner la opción f:
tar -xf archivo.tar.gz
El comando tar detectará de forma automática el tipo de compresión y va a extraer y descomprimir el archivo. De la misma forma, este comando puede ser utilizado para extraer archivos tar comprimidos con algoritmos distintos, tales como .tar.bz2.
Extraer archivos en una carpeta en concreto
La opción -v hará que el comando tar muestre en terminal los nombres de todos los archivos que está extrayendo:
tar -xvf archivo.tar.gz
Por defecto, tar extraerá los contenidos del archivo en el directorio actual te trabajo. Utiliza –directory (-C) para extraer archivos en una ubicación específica:
Por ejemplo, si quieres extraer los contenidos del archivo en el directorio /home/weblonia/archivos, puedes usar el comando:
tar -xf archivo.tar.gz -C /home/weblonia/archivos
Extraer archivos específicos de un archivo tar.gz
Si quieres extraer un archivo en concreto del archivo tar.gz, sólo añade una lista de nombres de los archivos a extraer separados por un espacio después de colocar el nombre del documento tar:
tar -xf archivo.tar.gz archivo1 archivo2
Cuando estés extrayendo archivos, debes escribir los nombres exactos, incluyendo la ruta de extracción, tal y como fue mostrada por el comando –list (-t).
Puedes extraer uno o más directorios de un archivo de la misma forma que extraes los documentos:
tar -xf archivo.tar.gz dir1 dir2
Si intentas extraer un archivo inexistente, aparecerá un mensaje de error.
También es posible extraer documentos de un archivo tar.gz basado en un patrón de comodín, al utilizar la opción –wildcards y citar el patrón para evitar que el shell lo interprete.
Por ejemplo, si queremos extraer archivos cuyos nombres terminan en .js (Archivos Javascript), puedes utilizar:
tar -xf archivo.tar.gz --wildcards '*.js'
¿Cómo puedo listar los archivos que contiene un tar.gz?
Para listar los contenidos de un archivo tar.gz, puedes utilizar la opción –list(-t):
tar -tf archivo.tar.gz
Al ejecutar esto, debería aparecer en pantalla una lista de todos los archivos contenidos en dicho tar.gz.
Si añades la opción –verbose (-v), el comando tar mostrará más información, como el propietario, tamaño del archivo, fecha de modificación, entre otros:
tar -tvf archivo.tar.gz
Conclusión
En este artículo, hemos aprendido cómo descomprimir un archivo tar.gz a través del comando tar y sus diferentes opciones de uso. Este comando es fácil de utilizar y viene pre-instalado en los sistemas Linux.
Recuerda que si quieres saber más sobre estos temas o necesitas ayuda dispones de nuestro foro especializado dónde puedes pedir ayuda o dejarnos un comentario acerca de cualquier tema técnico.