Comment extraire un seul fichier d'un fichier .tar / .tar.gz

Contenu

Bash Shell

Si, à un moment quelconque, vous rencontrez un scénario dans lequel vous disposez d'une énorme archive de sauvegarde tar mais n'avez besoin d'extraire qu'une seule archive, aujourd'hui tu lis le bon message. Pourquoi s'embêter à tout extraire juste pour récupérer ce fichier?

À sa place, vous avez juste besoin de connaître la syntaxe pour extraire un seul fichier de ce fichier. Et voici cette syntaxe:

tar --extract --file=<fichier tar> <chemin/vers/fichier unique>

Ensuite, par exemple, si vous souhaitez extraire xmlrpc.php d'un fichier WordPress téléchargé, j'utiliserais ce qui suit, puisque tout ce qui se trouve dans le fichier tar wordpress est dans un dossier “wordpress”.

tar --extract --file=latest.tar.gz wordpress/xmlrpc.php

Cette, de toute façon, vous utilisez la syntaxe verbeuse. À la place d'utiliser --extract Vous pouvez utiliser -x, et au lieu d'utiliser --file Vous pouvez utiliser -f, et vous pouvez même les rejoindre tous les deux dans un seul argument comme -xf au lieu de. (Noter: Historiquement, j'aurais aussi besoin du -z option pour exécuter gzip, mais dans mes tests ça marche bien sans ça). Ensuite, la commande la plus courte serait:

tar -xf dernier.tar.gz wordpress/xmlrpc.php

Vous pouvez également extraire un seul dossier avec la même syntaxe. Par exemple, prendre tout le dossier wordpress / wp-includes à partir du fichier WordPress, je ferais simplement ce qui suit:

tar -xf dernier.tar.gz wordpress/wp-includes

En plus il y a un --wildcard paramètre que vous pouvez utiliser pour extraire tous les fichiers qui correspondent à un modèle; par exemple, si vous voulez prendre toutes les images PNG d'un seul fichier, tu peux faire quelque chose comme ça:

goudron -xf <tarball> --caractères génériques '*.png'

Je souhaite que vous appreniez quelque chose aujourd'hui.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.