Télécharger et dézip les fichiers sans quitter le terminal Linux avec ces 6 commandes
J'avais l'habitude de télécharger et de décompresser les fichiers avec un navigateur et un gestionnaire de fichiers jusqu'à ce que je réalise que je pouvais tout faire à partir du terminal, sans cliquer ou changer de fenêtre. J'utilise maintenant seulement six commandes tout le temps. Voici ce qu'ils sont et pourquoi ils valent la peine de mémoriser.
Sommaire
Commencez avec WGET: Mes défaut de téléchargements rapides
La première commande que j'ai jamais utilisée pour télécharger quelque chose à partir de la ligne de commande était wget. Il est intégré à la plupart des distributions Linux et super facile à utiliser.
Vous voulez télécharger un fichier à partir d'une URL? Il suffit de courir:
wget https://example.com/file.zip
C'est ça. Le fichier est enregistré dans votre répertoire de travail actuel. Si vous souhaitez renommer le fichier lorsqu'il télécharge, vous pouvez utiliser l'option -o:
wget -O newname.zip https://example.com/file.zip
Ceci est utile lorsque l'URL a un nom de fichier long ou étrange, et que vous voulez garder les choses bien rangées.
Une autre option que j'utilise souvent est -Q, qui dit à Wget de fonctionner tranquillement. Il n'y aura pas de sortie à moins qu'il n'y ait une erreur:
wget -q https://example.com/file.zip
Ceci est pratique dans les scripts ou lorsque je ne veux pas que le terminal soit encombré de sortie de progrès.
Lorsque WGET échoue, j'utilise Curl
Dans la plupart des cas, WGET fait le travail. Mais parfois, cela ne fonctionne pas, surtout si le fichier est derrière une redirection ou si le serveur attend différents en-têtes. C'est là que je passe à Curl.
Voici la syntaxe de base que j'utilise:
curl -L https://example.com/file.zip -o file.zip
Le drapeau -L dit à Curl de suivre les redirections. La commande peut échouer sans elle si l'URL pointe vers une redirection au lieu du fichier réel. Le drapeau -o indique simplement comment nommer le fichier une fois qu'il est téléchargé.
Je vais être honnête, Curl a une courbe d'apprentissage abrupte si vous commencez à creuser toutes ses options. Cependant, cette commande couvre la plupart des cas d'utilisation pour les téléchargements de fichiers simples.
En rapport
Curl vs Wget dans Linux: Quelle est la différence?
Ils sont tous les deux meilleurs.
Après le téléchargement, j'ai presque toujours besoin d'extraire le contenu. Pour les fichiers zip, la commande unzip est simple.
Pour décompresser un fichier dans le répertoire actuel, tapez simplement:
unzip file.zip
Cela extrait tout dans le dossier actuel. Si vous voulez garder les choses plus organisées, vous pouvez extraire dans un répertoire spécifique:
unzip file.zip -d myfolder
Si le dossier n'existe pas, unzip le créera automatiquement.
Parfois, je rencontre des problèmes où j'ai déjà certains des fichiers, et je ne veux pas les écraser. Dans ce cas, j'utilise:
unzip -n file.zip
L'option -N signifie «ne jamais écraser les fichiers existants». D'un autre côté, si je fais quelque chose de vite et que je veux juste écraser sans être invité, j'utiliserai:
unzip -o file.zip
Cela m'évite de répondre à « oui » ou « non » une douzaine de fois.
En rapport
Comment décompresser les fichiers sur Android
Vous avez un fichier zip sur votre téléphone ou tablette Android et vous ne savez pas comment l'ouvrir? Nous pouvons aider.
Pour les archives du goudron, j'ai mémorisé ces variations de goudron
Les fichiers zip ne sont pas le seul format que vous verrez. Sur Linux, .tar.gz et .tar.bz2 sont tout aussi courants, surtout lorsque vous avez affaire à des packages logiciels, à un code source ou à des archives de sauvegarde Linux.
Voici ce que j'utilise pour les extraire:
tar -xzf archive.tar.gz
Et pour les fichiers compressés BZIP2:
tar -xjf archive.tar.bz2
Si je souhaite déballer le contenu dans un répertoire spécifique, j'ajoute l'indicateur -c:
tar -xzf archive.tar.gz -C myfolder
Ce que j'aime chez TAR, c'est qu'il vous permet de prévisualiser le contenu des archives avant d'extraire quoi que ce soit:
tar -tf archive.tar.gz
Ce drapeau -t signifie «test» ou «liste», afin que vous puissiez voir à quoi vous affaire avant de déballer le tout.
J'aime énumérer le contenu avant d'extraire quoi que ce soit, surtout si je ne sais pas ce qu'il y a à l'intérieur. Pour les fichiers .zip, cela ressemble à:
unzip -l file.zip
Et pour les fichiers .tar, j'utilise:
tar -tf file.tar.gz
Parfois, une archive contient un seul dossier de niveau supérieur, et parfois un gâchis de fichiers. Savoir ce que vous êtes sur le point d'extraire permet d'éviter l'encombrement.
Une fois que j'ai déballé quelque chose, je fais généralement un rapide:
ls
C'est juste pour confirmer que tout a atterri là où je m'attendais. Ensuite, je CD dans le nouveau dossier:
cd foldername
Bonus: combinez tout en une seule commande
L'une des meilleures choses sur l'utilisation du terminal est la facilité avec laquelle vous pouvez enchaîner les commandes ensemble. Par exemple, voici comment je télécharge et décompressez un fichier en une seule ligne:
wget https://example.com/files.zip && unzip files.zip -d extracted/
Ou en utilisant Curl:
curl -L https://example.com/files.zip -o files.zip && unzip files.zip
J'ai mis en place quelques fonctions dans mon .bashrc qui m'ont permis de réutiliser ces commandes avec n'importe quelle URL. Alors maintenant, je peux simplement exécuter Getzip (URL) ou GetTar (URL) sans retypter le tout à chaque fois.
Vous êtes sur le chemin de la liberté terminale
Apprendre à télécharger et à décompresser les fichiers sans quitter le terminal a changé mon travail. Il est plus rapide, me garde concentré et fonctionne de la même manière sur chaque système Linux que j'utilise. Une fois que vous l'avez fait plusieurs fois, cela devient la mémoire musculaire.
Je recommande fortement de se mettre à l'aise avec ces commandes si vous effectuez des fonctions de développement, de scripts ou de systèmes sur Linux. Vous gagnerez du temps, réduisez les clics et vous vous sentirez plus en contrôle de votre système.