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


Tar ( Tape Archive ) es un popular formato de archivo en Linux. Se puede usar junto con gzip (tar.gz) o bzip2 (tar.bz2) para la 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.

En este artículo, le mostraremos cómo descargar archivos tar utilizando dos descargadores de línea de comandos 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, descomprimir las últimas bases de datos 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 de wget -O especifica un archivo en el que se escriben los documentos, y aquí usamos - , lo que significa que se escribirá a la salida estándar y se canalizará a tar y al indicador de tar -x permite la extracción de archivos comprimidos y -z descomprime los archivos comprimidos creados por gzip.

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

rojo

$ 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 de almacenamiento se descargará en su sistema antes de poder 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, use 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 un archivo usando el comando cURL

Teniendo en cuenta el ejemplo anterior, esta es la forma en que puede utilizar 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 mientras se 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 en un solo comando. Si tiene alguna consulta, utilice la sección de comentarios a continuación para comunicarse con nosotros.