4Sep

Comment compresser et extraire des fichiers à l'aide de la commande tar sous Linux

La commande tar sur Linux est souvent utilisée pour créer des fichiers d'archive. tar.gz ou. tgz, appelés aussi "tarballs". Cette commande a un grand nombre d'options, mais il suffit de se souvenir de quelques lettres pour créer rapidement des archives avecle goudron. La commande tar peut également extraire les archives résultantes.

La commande GNU tar incluse avec les distributions Linux a une compression intégrée. Il peut créer une archive. tar et la compresser avec la compression gzip ou bzip2 en une seule commande. C'est pourquoi le fichier résultant est un fichier. tar.gz ou un fichier. tar.bz2.

Compresser un répertoire entier ou un seul fichier

Utilisez la commande suivante pour compresser un répertoire entier ou un seul fichier sous Linux. Il va également compresser tous les autres répertoires dans un répertoire que vous spécifiez - en d'autres termes, cela fonctionne récursivement.

tar -czvf nom-de-archive.tar.gz répertoire-ou-/path/to/

Voici ce que ces commutateurs signifient réellement:

  • -c: C reate une archive.
  • -z: compresser l'archive avec g z ip.
  • -v: Affiche la progression dans le terminal lors de la création de l'archive, également appelée mode " v erbose".Le v est toujours optionnel dans ces commandes, mais c'est utile.
  • -f: Vous permet de spécifier le nom de l' f de l'archive.

Disons que vous avez un répertoire nommé "stuff" dans le répertoire courant et que vous voulez l'enregistrer dans un fichier nommé archive.tar.gz. Vous devez exécuter la commande suivante:

tar -czvf archive.tar.gz choses

Ou, disons qu'il existe un répertoire sur /usr/local/ quelque chose sur le système actuel et que vous voulez le compresser dans un fichier nommé archive.tar.gz. Vous devez exécuter la commande suivante:

tar -czvf archive.tar.gz /usr/local/ quelque chose

Compresser plusieurs répertoires ou fichiers à la fois

Alors que tar est fréquemment utilisé pour compresser un seul répertoire, vous pouvez également l'utiliser pour compresser plusieurs répertoires, plusieursfichiers individuels, ou les deux. Fournissez simplement une liste de fichiers ou de répertoires au lieu d'un seul. Supposons, par exemple, que vous souhaitiez compresser le répertoire de téléchargements /home/ubuntu/, le répertoire de tâches /usr/local/ et le fichier notes.txt /home/ubuntu/Documents/.Vous devez simplement exécuter la commande suivante:

tar -czvf archive.tar.gz /home/ubuntu/ Téléchargements /usr/local/ trucs /home/ubuntu/Documents/ notes.txt

Indiquez simplement autant de répertoires ou de fichiers que vous souhaitez sauvegarder.

Exclure les répertoires et les fichiers

Dans certains cas, vous pouvez vouloir compresser un répertoire entier, mais ne pas inclure certains fichiers et répertoires. Vous pouvez le faire en ajoutant un commutateur --exclude pour chaque répertoire ou fichier que vous souhaitez exclure.

Par exemple, supposons que vous vouliez compresser /home/ ubuntu, mais vous ne voulez pas compresser les fichiers /home/ubuntu/ Downloads et /home/ubuntu/. cache. Voici comment vous le feriez:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = /home/ubuntu/ Téléchargements --exclude = /home/ubuntu/. cache

Le commutateur --exclude est très puissant. Il ne prend pas les noms des répertoires et des fichiers - il accepte en fait les modèles. Vous pouvez en faire beaucoup plus. Par exemple, vous pouvez archiver un répertoire entier et exclure tous les fichiers. mp4 avec la commande suivante:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = *. Mp4

Utiliser la compression bzip2

Bien que la compression gzip soit le plus souventUtilisé pour créer des fichiers. tar.gz ou. tgz, tar prend également en charge la compression bzip2.Cela vous permet de créer des fichiers compressés en bzip2, souvent nommés fichiers. tar.bz2,. tar.bz ou. tbz. Pour ce faire, remplacez simplement -z pour gzip dans les commandes ici avec -j pour bzip2.

Gzip est plus rapide, mais il compresse généralement un peu moins, donc vous obtenez un fichier un peu plus gros. Bzip2 est plus lent, mais il compresse un peu plus, donc vous obtenez un fichier un peu plus petit. Gzip est également plus commun, avec certains systèmes Linux dépouillés incluant le support de gzip par défaut, mais pas le support de bzip2.En général, cependant, gzip et bzip2 sont pratiquement la même chose et les deux fonctionneront de manière similaire.

Par exemple, au lieu du premier exemple fourni pour compresser le répertoire stuff, vous devez exécuter la commande suivante:

tar -cjvf archive.tar.bz2 stuff

Extraire une archive

Une fois que vous avez une archive, vous pouvez l'extraireavec la commande tar. La commande suivante extrait le contenu de archive.tar.gz dans le répertoire en cours.

tar -xzvf archive.tar.gz

C'est la même chose que la commande de création d'archive utilisée ci-dessus, sauf que le commutateur -x remplace le commutateur -c. Cela spécifie que vous voulez x déposer une archive au lieu d'en créer un.

Vous pouvez extraire le contenu de l'archive dans un répertoire spécifique. Vous pouvez le faire en ajoutant le commutateur -C à la fin de la commande. Par exemple, la commande suivante extrait le contenu du fichier archive.tar.gz dans le répertoire / tmp.

tar -xzvf archive.tar.gz -C / tmp

Si le fichier est un fichier compressé en bzip2, remplacez le "z" dans les commandes ci-dessus par un "j".

Ceci est l'utilisation la plus simple possible de la commande tar. La commande inclut un grand nombre d'options supplémentaires, nous ne pouvons donc pas tous les lister ici. Pour plus d'informations.exécutez la commande sur le shell pour afficher la page d'informations détaillées de la commande tar. Appuyez sur la touche q pour quitter la page d'informations lorsque vous avez terminé.Vous pouvez également lire le manuel de tar en ligne.

Si vous utilisez un bureau Linux graphique, vous pouvez également utiliser l'utilitaire de compression de fichier ou le gestionnaire de fichiers inclus avec votre bureau pour créer ou extraire des fichiers. tar. Sous Windows, vous pouvez extraire et créer des archives. tar avec l'utilitaire 7-Zip gratuit.