Par Matt Zand et Kevin Downs

En un mot, une archive est un fichier unique qui contient une collection d’autres fichiers et / ou répertoires. Les fichiers d’archive sont généralement utilisés pour un transfert (localement ou sur Internet) ou pour faire une copie de sauvegarde d’une collection de fichiers et de répertoires qui vous permettent de travailler avec un seul fichier (s’il est compressé, il a une taille inférieure à la somme de tous fichiers qu’il contient) au lieu de plusieurs. De même, les archives sont utilisées pour le packaging d’applications logicielles. Ce fichier unique peut être facilement compressé pour faciliter le transfert tandis que les fichiers de l’archive conservent la structure et les autorisations des fichiers d’origine.

Nous pouvons utiliser l’outil tar pour créer, répertorier et extraire des fichiers d’archives. Les archives créées avec tar sont normalement appelées «fichiers tar», «archives tar» ou – puisque tous les fichiers archivés sont regroupés en un seul – «tarballs».

Ce didacticiel montre comment utiliser tar pour créer une archive, répertorier le contenu d’une archive et extraire les fichiers d’une archive. Deux options courantes utilisées avec ces trois opérations sont «-f» et «-v»: pour spécifier le nom du fichier d’archive, utilisez «-f» suivi du nom du fichier; utilisez l’option ‘-v’ (“verbose”) pour que tar affiche les noms des fichiers au fur et à mesure qu’ils sont traités. Bien que l’option ‘-v’ ne soit pas nécessaire, elle vous permet d’observer la progression de votre opération tar.

Pour le reste de ce didacticiel, nous abordons 3 sujets: 1- Créer un fichier archive, 2- Lister le contenu d’un fichier archive et 3- Extraire le contenu d’un fichier archive. Nous concluons ce tutoriel en examinant 6 questions pratiques liées à la gestion des fichiers d’archives. Ce que vous retenez de ce didacticiel est essentiel pour effectuer des tâches liées à la cyber-sécurité et technologie cloud.

1- Création d’un fichier archive

Pour créer une archive avec tar, utilisez l’option ‘-c’ («create») et spécifiez le nom du fichier d’archive à créer avec l’option ‘-f’. Il est courant d’utiliser un nom avec une extension «.tar», comme «my-backup.tar». Notez que sauf indication contraire, toutes les commandes et paramètres de commande utilisés dans le reste de cet article sont utilisés en minuscules. Gardez à l’esprit que lorsque vous tapez des commandes dans cet article sur votre terminal, vous n’avez pas besoin de taper le signe d’invite $ qui apparaît au début de chaque ligne de commande.

Donnez comme arguments les noms des fichiers à archiver; pour créer une archive d’un répertoire et de tous les fichiers et sous-répertoires qu’il contient, donnez le nom du répertoire comme argument.

Pour créer une archive appelée ‘project.tar’ à partir du contenu du répertoire ‘project’, tapez:

$ projet tar -cvf project.tar

Cette commande crée un fichier d’archive appelé ‘project.tar’ contenant le répertoire ‘project’ et tout son contenu. Le répertoire ‘projet’ d’origine reste inchangé.

Utilisez l’option ‘-z’ pour compresser l’archive lors de son écriture. Cela donne le même résultat que la création d’une archive non compressée, puis l’utilisation de gzip pour la compresser, mais cela élimine l’étape supplémentaire.

Pour créer une archive compressée appelée ‘project.tar.gz’ à partir du contenu du répertoire ‘project’, tapez:

$ projet tar -zcvf projet.tar.gz

Cette commande crée un fichier d’archive compressé, «project.tar.gz», contenant le répertoire «projet» et tout son contenu. Le répertoire ‘projet’ d’origine reste inchangé.

REMARQUE: Lorsque vous utilisez l’option ‘-z’, vous devez spécifier le nom de l’archive avec une extension ‘.tar.gz’ et non une extension ‘.tar’, de sorte que le nom de fichier montre que l’archive est compressée. Bien que cela ne soit pas obligatoire, c’est une bonne pratique à suivre.

Gzip n’est pas la seule forme de compression. Il existe également bzip2 et et xz. Lorsque nous voyons un fichier avec une extension de xz, nous savons qu’il a été compressé à l’aide de xz. Lorsque nous voyons un fichier avec l’extension .bz2, nous pouvons en déduire qu’il a été compressé à l’aide de bzip2. Nous allons nous éloigner de bzip2 car il devient non maintenu et nous concentrer sur xz. Lors de la compression à l’aide de xz, la compression des fichiers prendra plus de temps. Cependant, cela vaut généralement la peine d’attendre car la compression est beaucoup plus efficace, ce qui signifie que le fichier résultant sera généralement plus petit que les autres méthodes de compression utilisées. Mieux encore, la décompression, ou agrandissement du fichier, n’est pas très différente entre les différentes méthodes de compression. Ci-dessous, nous voyons un exemple d’utilisation de xz lors de la compression d’un fichier à l’aide de tar

$ projet tar -Jcvf project.tar.xz

Nous changeons simplement -z pour gzip en majuscule -J pour xz. Voici quelques sorties pour afficher les différences entre les formes de compression:

Comme vous pouvez le voir, xz prend le plus de temps à compresser. Cependant, il fait le meilleur travail pour réduire la taille des fichiers, cela vaut donc la peine d’attendre. Plus le fichier est volumineux, meilleure est la compression!

2- Liste du contenu d’un fichier archive

Pour lister le contenu d’une archive tar sans les extraire, utilisez tar avec l’option ‘-t’.

Pour lister le contenu d’une archive appelée ‘project.tar’, tapez:

$ tar -tvf project.tar

Cette commande répertorie le contenu de l’archive ‘project.tar’. L’utilisation de l’option ‘-v’ avec l’option ‘-t’ oblige tar à afficher les autorisations et l’heure de modification de chaque fichier, ainsi que son nom de fichier – le même format utilisé par la commande ls avec l’option ‘-l’.

Pour lister le contenu d’une archive compressée appelée ‘project.tar.gz’, tapez:

$ tar -tvf project.tar

3- Extraire le contenu d’un fichier archive

Pour extraire (ou déballer) le contenu d’une archive tar, utilisez tar avec l’option ‘-x’ («extraire»).

Pour extraire le contenu d’une archive appelée ‘project.tar’, tapez:

$ tar -xvf project.tar

Cette commande extrait le contenu de l’archive ‘project.tar’ dans le répertoire courant.

Si une archive est compressée, ce qui signifie généralement qu’elle aura une extension «.tar.gz» ou «.tgz», incluez l’option «-z».

Pour extraire le contenu d’une archive compressée appelée ‘project.tar.gz’, tapez:

$ tar -zxvf project.tar.gz

REMARQUE: S’il y a des fichiers ou des sous-répertoires dans le répertoire courant avec le même nom que l’un de ceux de l’archive, ces fichiers seront écrasés lors de l’extraction de l’archive. Si vous ne savez pas quels fichiers sont inclus dans une archive, envisagez d’abord de lister le contenu de l’archive.

Une autre raison de lister le contenu d’une archive avant de les extraire est de déterminer si les fichiers de l’archive sont contenus dans un répertoire. Si ce n’est pas le cas, et que le répertoire actuel contient de nombreux fichiers non liés, vous pouvez les confondre avec les fichiers extraits de l’archive.

Pour extraire les fichiers dans un répertoire qui leur est propre, créez un nouveau répertoire, déplacez l’archive vers ce répertoire et accédez à ce répertoire, où vous pouvez ensuite extraire les fichiers de l’archive.

Maintenant que nous avons appris à créer un fichier d’archive et à répertorier / extraire son contenu, nous pouvons passer aux 9 questions pratiques suivantes qui sont fréquemment posées par les professionnels de Linux.

  • Pouvons-nous ajouter du contenu à un fichier d’archive sans le décompresser?

Malheureusement, une fois qu’un fichier a été compressé, il n’y a aucun moyen d’y ajouter du contenu. Vous devrez le «décompresser» ou extraire le contenu, éditer ou ajouter du contenu, puis compresser à nouveau le fichier. S’il s’agit d’un petit fichier, ce processus ne prendra pas longtemps. S’il s’agit d’un fichier plus volumineux, préparez-vous à ce que cela prenne un certain temps.

  • Pouvons-nous supprimer le contenu d’un fichier d’archive sans le décompresser?

Cela dépend de la version de tar utilisée. Les nouvelles versions de tar prendront en charge un –delete.

Par exemple, disons que nous avons les fichiers file1 et file2. Ils peuvent être supprimés de file.tar avec les éléments suivants:

$ tar -vf file.tar –supprimer fichier1 fichier2

Pour supprimer un répertoire dir1:

$ tar -f file.tar –delete dir1 / *

  • Quelles sont les différences entre la compression d’un dossier et son archivage?

Le moyen le plus simple de voir la différence entre l’archivage et la compression est de regarder le résultat final. Lorsque vous archivez des fichiers, vous combinez plusieurs fichiers en un seul. Donc, si nous archivons 10 fichiers de 100 Ko, vous vous retrouverez avec un fichier de 1000 Ko. D’un autre côté, si nous compressons ces fichiers, nous pourrions nous retrouver avec un fichier qui ne fait que quelques ko ou près de 100 ko.

  • Comment compresser des fichiers d’archive?

Comme nous l’avons vu ci-dessus, vous pouvez créer et archiver des fichiers en utilisant la commande tar avec les options cvf. Pour compresser le fichier d’archive que nous avons créé, il existe deux options; exécutez le fichier d’archive via une compression telle que gzip. Ou utilisez un indicateur de compression lors de l’utilisation de la commande tar. Les indicateurs de compression les plus courants sont -z pour gzip, -j pour bzip et -J pour xz. Nous pouvons voir la première méthode ci-dessous:

$ gzip file.tar

Ou nous pouvons simplement utiliser un indicateur de compression lors de l’utilisation de la commande tar, ici nous verrons l’indicateur gzip «z»:

$ tar -cvzf file.tar / some / répertoire

  • Comment créer des archives de plusieurs répertoires et / ou fichiers à la fois?

Il n’est pas rare de se trouver dans des situations où nous voulons archiver plusieurs fichiers ou répertoires à la fois. Et ce n’est pas aussi difficile que vous le pensez de tarer plusieurs fichiers et répertoires à la fois. Vous fournissez simplement les fichiers ou répertoires que vous souhaitez tarer comme arguments de la commande tar:

$ tar -cvzf fichier.tar fichier1 fichier2 fichier3

ou

$ tar -cvzf fichier.tar / certains / répertoire1 / certains / répertoire2

  • Comment sauter des répertoires et / ou des fichiers lors de la création d’une archive?

Vous pouvez rencontrer une situation où vous souhaitez archiver un répertoire ou un fichier, mais vous n’avez pas besoin de certains fichiers à archiver. Pour éviter d’archiver ces fichiers ou de les «exclure», utilisez l’option –exclude avec tar:

$ tar –exclure ‘/ un / répertoire’ -cvf fichier.tar / home / utilisateur

Donc, dans cet exemple / home / user serait archivé mais il exclurait le répertoire / some / s’il se trouvait sous / home / user. Il est important que vous placiez l’option –exclude avant la source et la destination, ainsi que d’encapsuler le fichier ou le répertoire exclu avec des guillemets simples.

Sommaire

La commande tar est utile pour créer des sauvegardes ou compresser des fichiers dont vous n’avez plus besoin. Il est recommandé de sauvegarder les fichiers avant de les modifier. Si quelque chose ne fonctionne pas comme prévu après la modification, vous pourrez toujours revenir à l’ancien fichier. La compression des fichiers qui ne sont plus utilisés permet de garder les systèmes propres et de réduire l’utilisation de l’espace disque. Il existe d’autres utilitaires disponibles, mais tar a régné en maître pour sa polyvalence, sa facilité d’utilisation et sa popularité.

Ressources

Si vous souhaitez en savoir plus sur Linux, la lecture des articles et tutoriels suivants est fortement recommandée:

à propos des auteurs

Matt Zand est un entrepreneur en série et le fondateur de 3 startups technologiques: Créateurs Web DC, Codage Bootcamps et Services technologiques des écoles secondaires. Il est l’un des principaux auteurs de Développement pratique de contrats intelligents avec Hyperledger Fabric livre par O’Reilly Media. Il a écrit plus de 100 articles techniques et tutoriels sur le développement de la blockchain pour les plateformes Hyperledger, Ethereum et Corda R3. Chez DC Web Makers, il dirige une équipe d’experts en blockchain pour le conseil et le déploiement d’applications décentralisées d’entreprise. En tant qu’architecte en chef, il a conçu et développé des cours de blockchain et des programmes de formation pour les Bootcamps de codage. Il est titulaire d’une maîtrise en gestion d’entreprise de l’Université du Maryland. Avant le développement et le conseil en blockchain, il a travaillé en tant que développeur et consultant senior d’applications Web et mobiles, investisseur providentiel, conseiller commercial pour quelques entreprises en démarrage. Vous pouvez vous connecter avec lui sur LI: https://www.linkedin.com/in/matt-zand-64047871

Kevin Downs est un administrateur système certifié Red Hat ou RHCSA. À son poste actuel chez IBM en tant qu’administrateur système, il est en charge de l’administration de centaines de serveurs fonctionnant sur différentes distributions Linux. Il est instructeur Linux principal à Codage Bootcamps où il a écrit 5 cours à votre rythme.

La poste Comment créer et gérer des fichiers d’archive sous Linux est apparu en premier le Linux Foundation – Formation.

Leave a Reply