La commande tar est l'abréviation de archives sur bande sous Linux. Cette commande est utilisée pour créer une archive et extraire les fichiers d'archive. Dans Linux , c'est l'une des commandes essentielles qui facilitent la fonctionnalité d'archivage. Nous pouvons utiliser cette commande pour créer des fichiers d'archives non compressés et compressés, ainsi que les modifier et les conserver.
Tar est un utilitaire de logiciel informatique permettant de collecter plusieurs fichiers dans un seul fichier d'archive informatique. Souvent, il est connu sous le nom d’archive tar à des fins de sauvegarde et de distribution. Le titre est acquis à partir de « archive sur bande » car il a été en fait développé pour spécifier des données sur des périphériques d'E/S séquentiels en n'utilisant aucun de leurs systèmes de fichiers. Les groupes de données d'archive créés par tar incluent de nombreux paramètres du système de fichiers tels que l'organisation des répertoires, l'autorisation d'accès aux fichiers, la propriété, les horodatages et le nom. Au profit de pax, POSIX a abandonné tar, tar étant pourtant largement utilisé.
Tout d'abord, il a été annoncé dans la version 7 d'Unix en janvier 1979, en remplacement du programme tp. Pour stocker les données, la structure des fichiers a été standardisée dans POSIX.1-1988 et plus tard POSIX.1-2001 et est devenue un modèle pris en charge par presque tous les systèmes d'archivage de fichiers modernes. Les systèmes d'exploitation de type Unix contiennent généralement des outils pour prendre en charge les fichiers tar et des utilitaires utilisés pour les compresser, comme bzip2 et gzip.
Depuis la mise à jour Microsoft du 10 avril 2018, BSD-tar est contenu dans Microsoft Windows, et il existe au moins deux outils tiers permettant de lire et d'écrire ces modèles sous Windows.
Formats de fichiers tar
Il existe de nombreux formats de fichiers tar disponibles, y compris les formats actuels et historiques. Deux formats tar sont écrits en POSIX : pax et ustar.
Entête
L'enregistrement d'en-tête de fichier comprend les métadonnées d'un fichier. Dans l'enregistrement d'en-tête, les informations sont codées selon les normes ASCII pour garantir la flexibilité entre des architectures distinctes utilisant un ordre d'octets distinct. Par conséquent, si chaque fichier est un fichier texte ASCII dans une archive et contient des noms ASCII, l'archive est un fichier texte ASCII (ayant plusieurs caractères NUL).
Plusieurs champs sont mentionnés dans le tableau suivant, définis par le format tar Unix actuel. Le tableau des types de fichiers de liens/indicateurs contient quelques extensions modernes. Un champ est rempli de divers octets NUL s'il n'est pas utilisé.
En-tête tar pré-POSIX.1-1988 :
Champ | Taille du champ | Décalage de champ |
---|---|---|
Nom de fichier | 100 | 0 |
Mode fichier | 8 | 100 |
ID utilisateur numérique du propriétaire | 8 | 108 |
ID utilisateur numérique du groupe | 8 | 116 |
Taille du fichier en octets | 12 | 124 |
Heure de la dernière modification sous forme d'heure Unix numérique | 12 | 136 |
Somme de contrôle pour l'enregistrement d'en-tête | 8 | 148 |
Indicateur de lien | 1 | 156 |
Nom du fichier lié | 100 | 157 |
Format Ustart
Au format Ustar, presque tous les programmes tar modernes écrivent et lisent des archives, annoncées par la norme POSIX IEEE P1003.1 de 1988. Elle a introduit des champs d'en-tête supplémentaires. Les programmes tar précédents éviteraient les informations supplémentaires, mais les nouveaux programmes vérifieront la présence de la chaîne « Ustar » pour décider si le format le plus récent est utilisé.
exécuter le shell de script
Champ | Taille du champ | Décalage de champ |
---|---|---|
Beaucoup de champs, comme dans le format précédent | 156 | 0 |
Tapez le drapeau | 1 | 156 |
Champ similaire au format précédent | 100 | 157 |
'ustar' Indicateur Ustar, puis NUL | 6 | 257 |
'00' version Ustar | 2 | 263 |
Nom d'utilisateur du propriétaire | 32 | 265 |
Nom du groupe du propriétaire | 32 | 297 |
Numéro majeur de l'appareil | 8 | 329 |
Numéro mineur de l'appareil | 8 | 337 |
Préfixe du nom de fichier | 155 | 3. 4. 5 |
POSIX.1-2001/pax
Sun a proposé une technique pour ajouter des extensions à un format tar en 1997. Plus tard, elle a été approuvée pour la norme POSIX.1-2001. Le format est appelé format pax ou format tar étendu. Certaines balises sont spécifiées par la norme POSIX, notamment mtime, atime, linkpath, gname, uname, size, gid, uid et une définition de jeu de caractères pour les noms de groupe/utilisateur et les noms de chemin.
Implémentations clés de tar
Les implémentations clés sont mentionnées dans l'ordre d'origine :
De plus, la plupart des implémentations cpio et pax peuvent créer et lire au moins deux types de fichiers tar.
Syntaxe de la commande tar :
tar [options] [archive-file] [directory or file to be archived]
Options dans la commande tar
Diverses options de la commande tar sont répertoriées ci-dessous :
Introduction au fichier d'archive
Le fichier d'archive peut être défini comme un fichier contenant plusieurs fichiers avec des métadonnées. Ces fichiers sont utilisés pour rassembler plusieurs fichiers de données dans un fichier individuel pour faciliter le stockage et la portabilité. Il peut également être utilisé pour compresser des fichiers afin de consommer moins d'espace de stockage.
Exemples de commande tar
Certains des exemples importants largement utilisés dans la commande tar sont les suivants :
1. Créer une archive tar non compressée avec l'option -cvf
Cette option crée un fichier tar appelé fichier.tar . C'est l'archive de chaque fichier .txt à l'intérieur monrép annuaire.
La commande est la suivante :
$ tar cvf file.tar *.txt
2. Extraction de fichiers via l'archive avec l'option -xvf
Cette option peut extraire des fichiers via des archives.
La commande est la suivante :
$ tar xvf file.tar
3. Compression gzip sur l'archive tar avec l'option -z
Cette option crée un fichier tar appelé fichier.tar.gz. C'est l'archive de chaque fichier .txt.
La commande est la suivante :
Rajan profond
$ tar cvzf file.tar.gz *.txt
4. Extraction de l'archive tar gzip avec l'option -xvzf
Cette option peut extraire les fichiers via les fichiers archivés file.tar.gz tar.
La commande est la suivante :
$ tar xvzf file.tar.gz
5. Création de fichiers tar compressés avec l'option -j
Cette option nous aidera à créer et compresser des fichiers d'archives. La décompression et la compression prennent plus de temps que gzip.
La commande est la suivante :
$ tar cvfj file.tar.tbz hello1.txt
6. Décompressez un répertoire ou un fichier spécifié sous Linux
Cette option est utilisée pour décompresser n'importe quel fichier dans notre répertoire actuel ou dans le répertoire spécifié avec l'option -C.
La commande est la suivante :
définir Java
$ tar -xvf file.tar -C file's path in the directory
Ou,
$ tar -xvf file.tar
7. Décompressez plusieurs fichiers .tar.tbz, .tar.gz, .tar sous Linux
Cette option nous aidera à propagé ou extrayez plusieurs fichiers de tar.bz2, tar.gz et d'un fichier d'archive tar.
L'exemple de cette option est le suivant :
$ tar -jxvf file.tar.tbz 'hello1.txt'
Ou,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Ou,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Vérifiez la taille du fichier tar.tbz, tar.gz, tar existant
La commande nous aidera à afficher la taille du fichier d'archive en kilo-octets (Ko) mentionnée ci-dessus.
La commande est la suivante :
$ tar -czf - file2.tar.tbz | wc -c
Ou,
$ tar -czf - file1.tar.gz | wc -c
Ou,
$ tar -czf - file.tar | wc -c
9. Mettez à jour le fichier tar existant
Sous Linux, la commande pour mettre à jour un fichier tar existant est la suivante :
$ tar rvf file.tar *.txt
10. Liste du contenu et description du fichier tar avec l'option tf
Cette option nous aidera à répertorier la liste complète du fichier d'archive. En outre, nous pouvons répertorier un contenu particulier dans n’importe quel fichier tar.
La commande est la suivante :
$ tar tf file.tar
11. Affichez l'archive avec l'option -tvf
Sous Linux, nous pouvons utiliser l'option -tvf pour afficher l'archive.
La commande est la suivante :
$ tar -tvf file.tar
12. Passez le nom du fichier comme argument pour rechercher un fichier tar
Cette option permet d'afficher les fichiers archivés avec leurs informations.
mathématiques aléatoires java
La commande est la suivante :
$ tar tvf file.tar filename
13. Utiliser pipe pour lancer la « commande grep » afin de rechercher ce que nous recherchons
Cette option nous aidera à répertorier uniquement l'image ou le texte mentionné dans poignée à travers des fichiers archivés.
La commande est la suivante :
$ tar tvf file.tar | grep 'filename.file'
Ou,
$ tar tvf file.tar | grep 'text to search'
Introduction aux caractères génériques
Alternativement, les caractères génériques sont appelés caractère générique ou caractère générique sous Linux. C'est un symbole utilisé pour représenter ou remplacer plusieurs caractères.
taille a-b
En règle générale, les caractères génériques sont soit un point d'interrogation (?) qui illustre un caractère individuel, soit un astérisque (*) qui illustre plusieurs caractères.
Exemple-
14. Rechercher une image au format .webp
Cela nous aidera à extraire uniquement les fichiers avec l'extension .webp de l'archive file.tar. L'option -wildcards indique à tar d'interpréter les caractères génériques dans le nom du fichier à extraire.
Le nom du fichier (*.webp) est placé entre guillemets simples pour protéger le caractère générique (*) contre une extension incorrecte par un shell.
La commande est la suivante :
$ tar tvf file.tar --wildcards '*.webp'
Remarque : dans la commande ci-dessus, le symbole « * » est appliqué à la position du nom du fichier pour prendre chaque fichier disponible dans ce répertoire spécifique.
15. Supprimer les fichiers de l'archive tar
Nous pouvons utiliser l'option --delete pour supprimer des fichiers et une archive tar.
La commande est la suivante :
$ tar --delete -f archive.tar file_name
Exemple:
tar -delete -f file.tar hello1.txt
Sortir:
bonjour1.txt le fichier a été supprimé de l'archive file.tar :