Comment compresser et extraire des fichiers à l'aide de la commande tar sous Linux
Agence web » Actualités du digital » Comment compresser et extraire des fichiers à l’aide de la commande tar sous Linux

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

La commande tar sous Linux est souvent utilisée pour créer des fichiers d’archive .tar.gz ou .tgz, également appelés « tarballs ». Cette commande a un grand nombre d’options, mais il vous suffit de vous souvenir de quelques lettres pour créer rapidement des archives avec tar. 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 puis 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.

Mise à jour, 18/07/22 : Nous avons examiné cet article pour plus de précision et pouvons confirmer qu’il fonctionne toujours sur la dernière version d’Ubuntu et d’autres distributions Linux.

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 compressera également tous les autres répertoires à l’intérieur d’un répertoire que vous spécifiez – en d’autres termes, cela fonctionne de manière récursive.

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Voici ce que signifient réellement ces commutateurs :

  • -c : Ccréer une archive.
  • -z : Compresser l’archive avec gzIP.
  • -v : affiche la progression dans le terminal lors de la création de l’archive, également appelée « vmode « erbose ». Le v est toujours facultatif dans ces commandes, mais il est utile.
  • -f : Permet de spécifier le Fnom de fichier 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 exécuteriez la commande suivante :

tar -czvf archive.tar.gz stuff

Ou, disons qu’il y a un répertoire dans /usr/local/something sur le système actuel et que vous voulez le compresser dans un fichier nommé archive.tar.gz. Vous exécuteriez la commande suivante :

tar -czvf archive.tar.gz /usr/local/something

Exécutez "tar -czvf" sur le dossier souhaité pour regrouper et compresser tout le contenu.

Compresser plusieurs répertoires ou fichiers à la fois

Bien que tar soit fréquemment utilisé pour compresser un seul répertoire, vous pouvez également l’utiliser pour compresser plusieurs répertoires, plusieurs fichiers individuels ou les deux. Fournissez simplement une liste de fichiers ou de répertoires au lieu d’un seul. Par exemple, supposons que vous souhaitiez compresser le répertoire /home/ubuntu/Downloads, le répertoire /usr/local/stuff et le fichier /home/ubuntu/Documents/notes.txt. Vous exécuteriez simplement la commande suivante :

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Énumérez simplement autant de répertoires ou de fichiers que vous souhaitez sauvegarder.

Terminal Ubuntu compressant plusieurs répertoires à la fois avec la commande "tar".

Exclure les répertoires et les fichiers

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

Par exemple, supposons que vous souhaitiez compresser /home/ubuntu, mais que vous ne souhaitiez pas compresser les répertoires /home/ubuntu/Downloads et /home/ubuntu/.cache. Voici comment procéder :

tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache

La --exclude le switch est très puissant. Il ne prend pas les noms de répertoires et de 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

La commande "tar" peut être réglée pour ignorer sélectivement certains fichiers.

Utilisez la compression bzip2 à la place

Bien que la compression gzip soit le plus souvent utilisée 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 bzip2, souvent nommés fichiers .tar.bz2, .tar.bz ou .tbz. Pour ce faire, remplacez simplement le -z pour gzip dans les commandes ici par un -j pour bzip2.

Gzip est plus rapide, mais il compresse généralement un peu moins, vous obtenez donc un fichier un peu plus volumineux. Bzip2 est plus lent, mais il se comprime un peu plus, vous obtenez donc un fichier un peu plus petit. Gzip est également plus courant, avec certains systèmes Linux simplifiés incluant la prise en charge de gzip par défaut, mais pas la prise en charge de bzip2. En général, cependant, gzip et bzip2 sont pratiquement la même chose, et les deux fonctionneront de la même manière.

Par exemple, au lieu du premier exemple que nous avons fourni pour compresser le répertoire stuff, vous exécuterez la commande suivante :

tar -cjvf archive.tar.bz2 stuff

Terminal exécutant la compression bzip2 au lieu de gzip.

Extraire une archive

Une fois que vous avez une archive, vous pouvez l’extraire avec la commande tar. La commande suivante extraira le contenu de archive.tar.gz dans le répertoire courant.

tar -xzvf archive.tar.gz

C’est la même chose que la commande de création d’archive que nous avons utilisée ci-dessus, à l’exception du -x l’interrupteur remplace le -c changer. Ceci spécifie que vous voulez eXtraiter une archive au lieu d’en créer une.

Vous souhaiterez peut-être extraire le contenu de l’archive dans un répertoire spécifique. Vous pouvez le faire en ajoutant le -C passer à la fin de la commande. Par exemple, la commande suivante extraira 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é bzip2, remplacez le « z » dans les commandes ci-dessus par un « j ».

Exécutez "tar" avec "-xzvf" au lieu de l


C’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 toutes les énumérer ici. Pour plus d’informations. exécuter le info goudron au niveau du shell pour afficher la page d’informations détaillées de la commande tar. appuyez sur la q touche 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 fichiers 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 gratuit 7-Zip.

★★★★★