Les archives et leur manipulation

Les fichiers d'archives (.tar) permettent de regrouper un ensemble de fichiers et répertoire ainsi que leurs attributs dans un seul fichier.

Il est a noter que les options de l'utilitaire tar ne sont pas obligatoirement précédée du tiret - habituel.

Options communes

L'option f (comme file) quand a elle permet de spécifier le fichier de l'archive à lire ou à écrire. Si elle n'est pas spécifiée, les données sont écrites directement sur la STDOUT (création) et lues à partir de STDIN.

Lors de la création et de la extraction de l'archive l'option v (comme verbose) permet d'afficher les fichiers qui seront archivés ou extraits par tar.

Création

Dans le cas de la création c'est l'option c (comme create) qui est utilisée. Ainsi pour archiver le dossier test dans l'archive test.tar :

$ tar cvf test.tar test

Extraction

L'extraction quand à elle fait appel à l'option x (comme dans extract). Ainsi pour extraire l'archive test.tar :

$ tar xvf test.tar

Les archives compressées

Les archives compressées avec gzip

La majorité des archives est compressée et possèdent l'extension .tar.gz. Ce sont des fichiers d'archive (.tar) qui sont ensuite compressées par l'utilitaire gzip (extension .gz). La création et extraction d'archives se font donc en deux étapes. Pour faciliter l'utilisation de la compression, l'utilitaire tar peut appeler l'utilitaire gzip via l'option z.

Ainsi comme précédemment pour compressé notre dossier dans une archive compressée par gzip test.tar.gz:

$ tar czvf test.tar.gz test

Et pour la décompresser

$ tar xzvf test.tar.gz

Les autres compressions

Les fichiers d'archives peuvent être compressé par n'importe quel algorithme de compression. Cependant tar permet d'utiliser facilement quelques algorithme de compression par simple passage d'option comme pour gzip :

  • bzip2, avec l'option j (extension .bzip2)
  • lzma, avec l'option J (extension .xz)
  • lzip, avec l'option --lzip (extension .lzip)

Détection automatique de l'algorithme de compression

Se souvenir des différents codes pour les différents algorithmes de compression n'est pas toujours évident. tar fourni une option (a) qui permet automatiquement de déterminer le bon algorithme en fonction de l'extension du fichier.

Ainsi pour compresser facilement en gzip:

$ tar cavf test.tar.gz test

Ou en bzip2:

$ tar cavf test.tar.bzip2 test