Recherche de site Web

Comment télécharger et extraire des fichiers Tar avec une seule commande


Tar (Tape Archive) est un format d'archivage de fichiers populaire sous Linux. Il peut être utilisé avec gzip (tar.gz) ou bzip2 (tar.bz2) pour la compression. Il s'agit de l'utilitaire de ligne de commande le plus largement utilisé pour créer des fichiers d'archive compressés (packages, code source, bases de données et bien plus encore) qui peuvent être facilement transférés d'une machine à une autre ou sur un réseau.

Lire aussi : 18 exemples de commandes Tar sous Linux

Dans cet article, nous allons vous montrer comment télécharger des archives tar à l'aide de deux téléchargeurs de ligne de commande bien connus – wget ou cURL et les extraire avec une seule commande.

Comment télécharger et extraire un fichier à l'aide de la commande Wget

L'exemple ci-dessous montre comment télécharger, décompresser les dernières bases de données GeoLite2 Country (utilisées par le module GeoIP Nginx) dans le répertoire courant.

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

L'option wget -O spécifie un fichier dans lequel les documents sont écrits, et ici nous utilisons -, ce qui signifie qu'il sera écrit sur la sortie standard et redirigé vers tar et l'indicateur tar. -x permet l'extraction des fichiers d'archive et -z décompresse les fichiers d'archive compressés créés par gzip.

Pour extraire les fichiers tar dans un répertoire spécifique, /etc/nginx/ dans ce cas, incluez l'indicateur -C comme suit.

Remarque : si vous extrayez des fichiers dans un répertoire particulier nécessitant des autorisations root, utilisez la commande sudo pour exécuter tar.

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

Alternativement, vous pouvez utiliser la commande suivante, ici, le fichier d'archive sera téléchargé sur votre système avant que vous puissiez l'extraire.

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

Pour extraire le fichier d'archive compressé dans un répertoire spécifique, utilisez la commande suivante.

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

Comment télécharger et extraire un fichier à l'aide de la commande cURL

En considérant l'exemple précédent, voici comment vous pouvez utiliser cURL pour télécharger et décompresser des archives dans le répertoire de travail actuel.

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

Pour extraire le fichier dans un répertoire différent pendant le téléchargement, utilisez la commande suivante.

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/

C'est tout! Dans ce guide court mais utile, nous vous avons montré comment télécharger et extraire des fichiers d'archive en une seule commande. Si vous avez des questions, utilisez la section commentaires ci-dessous pour nous contacter.