Page d'accueil » comment » QuickTip Linux Téléchargement et décompression en une étape

    QuickTip Linux Téléchargement et décompression en une étape

    La plupart du temps, lorsque je télécharge quelque chose, il s’agit d’une archive de fichiers - généralement un fichier .tarball ou un fichier zip. Il peut s'agir d'un code source pour une application non incluse dans l'arborescence Portage de Gentoo, de la documentation pour une application d'entreprise interne ou même d'une tâche aussi banale qu'une nouvelle installation WordPress..

    La manière traditionnelle de télécharger et de décompresser quelque chose dans le terminal serait la suivante:

    wget http://wordpress.org/latest.tar.gz

    tar xvzf latest.tar.gz

    rm latest.tar.gz

    Ou peut-être la forme plus compacte:

    wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz

    De toute façon, c'est un peu maladroit. C’est une opération très simple, un shell puissant comme Bash devrait permettre à une telle tâche d’être exécutée de manière plus «fluide»..

    Eh bien, grâce à une petite commande utile "curl", nous pouvons accomplir le désordre ci-dessus en une seule déclaration:

    curl http://wordpress.org/latest.tar.gz | tar xvz

    Pas de fichiers temporaires à supprimer, pas de problèmes avec des esperluettes. En bref, une commande très compacte et efficace. En fait, d’un point de vue théorique, la méthode curl peut être plus rapide que le désordre concaténé wget / tar / rm puisque stdout piping utilisera la mémoire RAM si possible, alors que wget et tar (avec le commutateur -f) doivent être en lecture / écriture. directement depuis un disque.

    Par ailleurs, tar avec l'option -v (comme nous l'utilisons dans tous les exemples ci-dessus) imprime chaque nom de fichier sur la sortie standard, car ils ne sont pas tous deux classés. Cela peut empêcher la sortie de curl, indiquant le statut de téléchargement. Nous pouvons faire taire tar en l'invoquant sans -v ainsi:

    curl http://wordpress.org/latest.tar.gz | tar xz

    Et c'est tout ce qu'il y a à dire!