Búsqueda de sitios web

Cómo descargar y extraer archivos Tar con un solo comando


Tar (Tape Archive) es un formato de archivo popular en Linux. Se puede utilizar junto con gzip (tar.gz) o bzip2 (tar.bz2) para compresión. Es la utilidad de línea de comandos más utilizada para crear archivos comprimidos (paquetes, código fuente, bases de datos y mucho más) que se pueden transferir fácilmente de una máquina a otra o a través de una red.

Lea también: 18 ejemplos de comandos Tar en Linux

En este artículo, le mostraremos cómo descargar archivos tar utilizando dos descargadores de línea de comandos muy conocidos: wget o cURL y extraerlos con un solo comando.

Cómo descargar y extraer archivos usando el comando Wget

El siguiente ejemplo muestra cómo descargar y descomprimir las últimas bases de datos de GeoLite2 Country (utilizadas por el módulo GeoIP Nginx) en el directorio actual.

wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | tar -xz

La opción wget -O especifica un archivo en el que se escriben los documentos, y aquí usamos -, lo que significa que se escribirá en la salida estándar y se canalizará a tar y al indicador tar. -x permite la extracción de archivos comprimidos y -z descomprime los archivos comprimidos creados por gzip.

Para extraer archivos tar a un directorio específico, /etc/nginx/ en este caso, incluya el uso del indicador -C de la siguiente manera.

Nota: si extrae archivos a un directorio particular que requiere permisos de root, use el comando sudo para ejecutar tar.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | sudo tar -xz -C /etc/nginx/

Alternativamente, puede usar el siguiente comando; aquí, el archivo comprimido se descargará en su sistema antes de que pueda extraerlo.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && tar -xzf  GeoLite2-Country.tar.gz

Para extraer un archivo comprimido a un directorio específico, utilice el siguiente comando.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf  GeoLite2-Country.tar.gz -C /etc/nginx/

Cómo descargar y extraer archivos usando el comando cURL

Considerando el ejemplo anterior, así es como puedes usar cURL para descargar y descomprimir archivos en el directorio de trabajo actual.

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz 

Para extraer el archivo a un directorio diferente durante la descarga, use el siguiente comando.

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | sudo tar -xz  -C /etc/nginx/
OR
sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf GeoLite2-Country.tar.gz -C /etc/nginx/

¡Eso es todo! En esta breve pero útil guía, le mostramos cómo descargar y extraer archivos comprimidos con un solo comando. Si tiene alguna consulta, utilice la sección de comentarios a continuación para comunicarse con nosotros.