GNU/Linux >> Tutoriels Linux >  >> Linux

16 commandes Tar pour compresser et extraire des fichiers sous Linux

Tar est un outil de ligne de commande utilisé pour créer et manipuler des fichiers d'archive dans les systèmes Linux et Unix. La commande Tar crée un fichier d'archive .tar, puis le comprime à l'aide de gzip ou bzip2.

Vous pouvez créer un seul fichier compressé archivé à l'aide d'une seule commande pour obtenir le fichier .tar.gz ou les fichiers .tar.bz2. La commande Tar peut également être utilisée pour extraire des fichiers archivés.

Voyons la commande tar en action à travers quelques exemples pratiques.

1) Créer un fichier d'archive .tar

Pour créer un fichier tar non compressé (.tar), utilisez l'option -c avec la commande tar comme suit :

$ tar -cvf /path/to/foo.tar /path/to/foo/

Où '/chemin/vers/foo.tar' est l'emplacement du fichier tar résultant et '/path/to/foo' est l'emplacement du fichier ou du répertoire à utiliser comme entrée.

Exemple

$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar

Vous pouvez utiliser un chemin absolu au lieu d'un chemin relatif, comme indiqué dans l'exemple.

2) Créer une archive .gz avec tar

La syntaxe de commande pour créer un .gz archive avec tar est :

$ tar -czvf /path/to/foo.tgz /path/to/foo/

Où '/path/to/foo.tgz' est le fichier compressé de destination et '/path/to/foo /' est le répertoire source ou le fichier à compresser.

3) Créer une archive .bz2

L'option -j est utilisé pour travailler avec des archives .bz2.

$ tar -cjvf /path/to/foo.tgz /path/to/foo/

4) Créer une archive .gz et exclure

Nous utilisons --exclude tar pour exclure une extension spécifique ou une liste d'extensions de fichiers. La syntaxe est similaire à ci-dessous :

$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.

5) Utiliser tar sans chemin absolu lors de la compression

Lorsque vous utilisez tar pour compresser des fichiers et que vous fournissez un chemin absolu, un fichier compressé aura un chemin complet dans ses métadonnées. Ainsi, lorsque vous extrayez le contenu, il se trouvera dans des répertoires similaires au chemin absolu qui a été transmis. Pour éviter cela, ajoutez un . à la fin de la commande.

$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .

6) Tarez tous les fichiers commençant par une lettre spécifique

Créez une archive tar de tout ce qui se trouve dans le répertoire courant en commençant par un "i".

# tar -cvf fullbackup.tar i*
install.log
install.log.syslog

7) Ajouter un nouveau fichier à l'archive tar existante

Ajoutez un fichier ou ajoutez un nouveau fichier à l'archive tar existante.

# tar --append --file=backup.tar anaconda-ks.cfg

La commande ci-dessus ajoutera un fichier anaconda-ks.cfg dans l'archive backup.tar

8) Ajout de deux fichiers d'archive avec l'option de concaténation

# tar --concatenate --file=backup.tar fullbackup.tar

La commande ci-dessus ajoute le contenu de fullbackup.tar à l'archive backup.tar.

9) Extraire le fichier d'archive .tar

Pour extraire une archive non compressée qui a souvent une extension .tar , la syntaxe de la commande est :

$ tar -xvf /path/to/foo.tar

Où /path/to/foo.tar est le chemin absolu/relatif vers l'emplacement d'un fichier tar. Par exemple

$ tar -xvf powerlog.tar 
x powerlog/

10) Extraire une archive .gz

Pour extraire un .gz archive, nous utilisons la syntaxe de commande :

$ tar -xzvf /path/to/foo.tgz

Où '/path/to/foo.tgz' est le chemin absolu ou relatif vers le fichier compressé.

11) Extraire une archive .bz2

La syntaxe de la commande pour extraire un .bz2 l'archive est

$ tar -xjvf /path/to/foo.bz2

Notez que vous pouvez passer un fichier .tgz tant qu'il a été compressé avec un -j option. Tar détectera automatiquement le format et le décompressera.

12) Extraire un .tar dans le répertoire spécifié

Pour extraire une archive tar dans un répertoire spécifique, utilisez -C option pour fournir le répertoire de destination.

$ tar -xvf /path/to/foo.tar -C /path/to/destination/

13) Extraire le fichier de l'archive tar

La commande suivante extrait le fichier 'anaconda-ks.cfg' dans l'archive 'backup.tar'.

# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg

14) Lister le contenu de l'archive .gz

Supposons que vous souhaitiez uniquement afficher le contenu d'un .tgz fichier sans les extraire, vous utiliserez la syntaxe de commande :

$ tar -ztvf /path/to/foo.tgz

Remplacez simplement '/path/to/foo.tgz' par le chemin correct de votre .tgz fichier

15) Lister le contenu du fichier d'archive .bz2

Si vous souhaitez simplement afficher le contenu de .bz2 archiver sans extraire, utilisez la commande :

$ tar -jtvf /path/to/foo.tgz

16) Préserver les liens symboliques à l'aide de la commande tar

Utilisez tar -cvhf pour conserver mes liens symboliques lors de la génération d'une archive tar (Utilisez l'option "h" pour cela).

Conclusion

Il est difficile de se souvenir de toutes les options de la commande tar. Vous trouverez ci-dessous une liste des options tar couramment utilisées.

- j :Utilisé pour filtrer l'archive via bzip2.
- v :Exécutez la commande en mode détaillé pour afficher la progression du fichier d'archive.
- f :Spécifiez le nom du fichier d'archive.
- W :Utilisé pour vérifier un fichier d'archive.
- z :filtrer une archive via l'outil gzip.
- t :Ceci est utilisé pour afficher le contenu du fichier d'archive.
-c :Crée une nouvelle archive contenant les éléments spécifiés.
-r :Utilisé pour ajouter ou mettre à jour une archive existante avec des fichiers ou des répertoires
-t :Liste le contenu d'une archive sur stdout.
-u :Comme -r, mais les nouvelles entrées ne sont ajoutées que si elles ont une date de modification plus récente que l'entrée correspondante dans l'archive.
-x :Extrayez le fichier d'archive sur le disque.

Pour toutes les opérations tar, l'utilitaire se termine avec un 0 en cas de succès, et >0 si une erreur se produit. Il est important de comprendre cela si vous utilisez tar avec un script.

J'espère que vous avez apprécié la lecture de ce tutoriel sur la commande tar. Veuillez laisser vos suggestions dans la section des commentaires ci-dessous.

Lire aussi :

  • Comment conserver les liens symboliques dans la commande Tar

Linux
  1. Commande Tar sous Linux (compresser et décompresser les fichiers)

  2. Comment archiver et compresser des fichiers sous Linux

  3. 10 exemples de commandes Tar sous Linux pour créer et extraire des archives

  4. Créer et extraire les fichiers tar.gz et tar.bz2 sur Ubuntu Linux

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

Commande Tar sous Linux (créer et extraire des archives)

Pigz - Compresser et décompresser des fichiers en parallèle sous Linux

Comment compresser et extraire des fichiers à l'aide de la commande Tar, Zip sous Linux

Commande tar Linux - Comment compresser des fichiers sous Linux

Commande Linux et Unix TAR

Commande Linux tar pour compresser et extraire des fichiers