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


Tar (Tape Archive) es un formato de archivo de archivos popular en Linux. Se puede utilizar 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 oa través de una red.

En este artículo, le mostraremos cómo descargar archivos tar usando dos wget o cURL bien conocidos 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 enviará a tar y la bandera de 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, use el indicador -C de la siguiente manera.

Nota: Si extrae archivos a un directorio en 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 de almacenamiento 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, 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 archivos usando el comando cURL

Teniendo en cuenta el ejemplo anterior, así es como puede 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 guía breve pero útil, le mostramos cómo descargar y extraer archivos de almacenamiento con un solo comando. Si tiene alguna pregunta, utilice la sección de comentarios a continuación para comunicarse con nosotros.