Android

Commande tar sous linux (créer et extraire des archives)

Commandes de base Linux - Ep47 - archiver et compresser

Commandes de base Linux - Ep47 - archiver et compresser

Table des matières:

Anonim

La commande tar est utilisée pour créer des archives tar en convertissant un groupe de fichiers en archives. Il a également la possibilité d'extraire des archives tar, d'afficher une liste des fichiers inclus dans l'archive, d'ajouter des fichiers supplémentaires à une archive existante, ainsi que divers autres types d'opérations.

Tar a été initialement conçu pour créer des archives pour stocker des fichiers sur bande magnétique, c'est pourquoi il a son nom " T ape AR chive".

Dans ce tutoriel, nous allons vous montrer comment utiliser la commande tar pour extraire, lister et créer des archives tar à travers des exemples pratiques et des explications détaillées des options tar les plus courantes.

Syntaxe de la commande Tar

Il existe deux versions de tar, tar BSD et tar GNU avec quelques différences fonctionnelles. La plupart des systèmes Linux sont livrés avec GNU tar préinstallé par défaut.

La syntaxe générale de la commande tar est la suivante:

tar

  • OPERATION - Un seul argument d'opération est autorisé et requis. Les opérations les plus fréquemment utilisées sont:
    • --create ( -c ) - Crée une nouvelle archive tar. --extract ( -x ) - Extrait l'archive entière ou un ou plusieurs fichiers d'une archive. --list ( -t ) - Affiche une liste des fichiers inclus dans l'archive
    OPTIONS - Les opérations les plus fréquemment utilisées sont:
    • --verbose ( -v ) - Affiche les fichiers en cours de traitement par la commande tar. --file=archive=name ( -f archive-name ) - Spécifie le nom du fichier d'archive.
    ARCHIVE_NAME - Le nom de l'archive. FILE_NAME(s) - Une liste de noms de fichiers séparés par des espaces à extraire de l'archive. Sinon, l'archive entière est extraite.

Lors de l'exécution des commandes tar, vous pouvez utiliser la forme longue ou courte des opérations et des options tar . Les formulaires longs sont plus lisibles tandis que les formulaires courts sont plus rapides à taper. Les options de forme longue sont préfixées par un double tiret ( -- ). Les options abrégées sont préfixées par un seul tiret ( - ) qui peut être omis.

Création d'une archive tar

Tar prend en charge une vaste gamme de programmes de compression tels que gzip , bzip2 , lzip , lzma , lzop , xz et compress . Lors de la création d'archives tar compressées, il est courant d'ajouter le suffixe du compresseur au nom du fichier d'archive. Par exemple, si une archive a été compressée avec gzip elle doit être nommée archive.tar.gz.

Pour créer une archive tar, utilisez l'option -c suivie de -f et du nom de l'archive.

Par exemple, pour créer une archive nommée archive.tar partir des fichiers nommés file1 , file3 , file3 , vous devez exécuter la commande suivante:

tar -cf archive.tar file1 file2 file3

Voici la commande équivalente utilisant les options de forme longue:

tar --create --file=archive.tar file1 file2 file3

Vous pouvez créer des archives à partir du contenu d'un ou plusieurs répertoires ou fichiers. Par défaut, les répertoires sont archivés récursivement sauf si l'option --no-recursion est spécifiée.

L'exemple suivant crée une archive nommée user_backup.tar du user_backup.tar /home/user :

tar -cf backup.tar /home/user

Utilisez l'option -v si vous souhaitez voir les fichiers en cours de traitement.

Création d'une archive Tar Gz

Gzip est l'algorithme le plus populaire pour compresser les fichiers tar. Lors de la compression des archives tar avec gzip, le nom de l'archive doit se terminer par tar.gz ou tgz .

L'option -z indique à tar de compresser l'archive à l'aide de l'algorithme gzip lors de sa création. Par exemple, pour créer une archive tar.gz à partir de fichiers donnés, vous utiliseriez la commande suivante:

tar -czf archive.tar.gz file1 file2

Création d'une archive Tar Bz2

Un autre algorithme populaire pour compresser les fichiers tar est bzip2. Lors de la compression des archives tar avec bzip2, le nom de l'archive doit se terminer par tar.bz2 ou tbz .

Lorsque l'option -j est spécifiée, tar utilisera l'algorithme bzip2 pour compresser l'archive. La commande suivante créera une archive tar.bz2 partir des fichiers donnés:

tar -cjf archive.tar.bz2 file1 file2

Liste des archives de goudron

Lorsqu'elle est utilisée avec l' --list ( -t ), la commande tar répertorie le contenu d'une archive tar sans l'extraire. La commande ci-dessous répertorie le contenu du fichier archive.tar :

tar -tf archive.tar La sortie listera les noms de tous les fichiers de l'archive:

file1 file2 file3

Pour obtenir plus d'informations telles que le propriétaire du fichier, la taille du fichier, l'horodatage, utilisez l' --verbose ( -v ):

tar -tvf archive.tar

-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3

Extraire l'archive de goudron

La plupart des fichiers archivés sous Linux sont archivés et compressés au format tar ou tar.gz. Il est important de savoir comment extraire ces fichiers de la ligne de commande.

Pour extraire une archive tar, utilisez l' --extract ( -x ) suivie du nom de l'archive:

tar -xf archive.tar

Il est également courant d'ajouter l'option -v pour imprimer les noms des fichiers extraits.

tar -xvf archive.tar

Extraire l'archive Tar dans un répertoire différent

Par défaut, tar extrait le contenu de l'archive dans le répertoire de travail courant. Utilisez le --directory ( -C ) pour extraire les fichiers d'archive dans un répertoire spécifique:

Par exemple, pour extraire le contenu de l'archive dans le répertoire /opt/files , vous pouvez utiliser:

tar -xf archive.tar -C /opt/files

Extraire les archives de Tar Gz et Tar Bz2

Lors de l'extraction d'archives compressées telles que tar.gz ou tar.bz2 vous n'avez pas besoin de spécifier une option de décompression. La commande est la même que lors de l'extraction d'une archive tar :

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

Extraire des fichiers spécifiques d'une archive tar

Parfois, au lieu d'extraire l'intégralité de l'archive, vous devrez peut-être n'en extraire que quelques fichiers.

Pour extraire un ou des fichiers spécifiques d'une archive tar, ajoutez une liste de noms de fichiers séparés par des espaces à extraire après le nom de l'archive:

tar -xf archive.tar file1 file2

Lors de l'extraction de fichiers, vous devez fournir leurs noms exacts, y compris le chemin, tel qu'imprimé par --list ( -t ).

Extraire un ou plusieurs répertoires d'une archive revient à extraire des fichiers:

tar -xf archive.tar dir1 dir2

tar -xf archive.tar README

tar: README: Not found in archive tar: Exiting with failure status due to previous errors

Extraire des fichiers d'une archive Tar à l'aide de caractères génériques

Pour extraire des fichiers d'une archive basée sur un modèle générique, utilisez le commutateur --wildcards et citez le modèle pour empêcher le shell de l'interpréter.

Par exemple, pour extraire des fichiers dont les noms se terminent par .js (fichiers Javascript), vous pouvez utiliser:

tar -xf archive.tar --wildcards '*.js'

Ajout de fichiers à l'archive Tar existante

Pour ajouter des fichiers ou des répertoires à une archive tar existante, utilisez l'opération --append ( -r ).

Par exemple, pour ajouter un fichier nommé newfile à archive.tar, vous devez exécuter:

tar -rvf archive.tar newfile

Suppression de fichiers d'une archive Tar

Utilisez l'opération --delete pour supprimer des fichiers d'une archive.

L'exemple suivant montre comment supprimer le fichier file1 de archive.tar,:

tar --delete -f archive.tar file1

Conclusion

Les utilisations les plus courantes de la commande tar sont de créer et d'extraire une archive tar. Lors de l'extraction d'une archive, utilisez la commande tar -xf suivie du nom de l'archive et pour en créer une nouvelle, utilisez tar -czf suivi du nom de l'archive et des fichiers et répertoires que vous souhaitez ajouter à l'archive.

Pour plus d'informations sur la commande tar, consultez la page de documentation de Gnu tar.

terminal tar