Niveau :
Résumé : ar
Connaissez-vous la commande ar ? Ar fait partie de ces commandes à 2 lettres créées à l'époque ou un octet coûtait plus cher que votre salaire mensuel.
Commande
Comme son nom l'indique, ar sert tout simplement à créer des archives :
$ ar rc archive.ar fichier
Et voila on vient de créer une archive avec un fichier dedans. ar sait gérer l'ajout, le remplacement et la suppression de fichier dans une archive, le tout avec des commandes très courtes :
# on remplace le contenu de fichier dans l'archive $ ar r archive.ar fichier # on supprime le fichier de l'archive $ ar d archive.ar fichier
Format
Mais venons-en au point intéressant, ar est un format de fichier extrêmement simple. En fait, dans la plus pure tradition unix et au prix de quelques octets, le format est lisible puisque c'est du texte.
Lisons notre archive :
!<arch> fichier/ 1224766279 1000 1000 100644 7 ` blah
Le l'archive commence simplement par !<arch>, et chaque fichier est inclus tel quel dans l'archive préfixé d'une en-tête de taille fixe de 60 caractères. Vous voyez que vous pouvez vous-même en créer à la main. Une ligne d'en-tête est définie comme suit :
Début Fin Nom Format 0 15 File name ASCII 16 27 File modification ts Decimal 28 33 Owner ID Decimal 34 39 Group ID Decimal 40 47 File mode Octal 48 57 File size in bytes Decimal 58 59 File magic \140\012
Facile a lire et à écrire, un seul petit inconvénient, la taille des noms de fichier est limitée. Il va donc falloir un peu d'astuce pour stocker les noms longs quelque part. Le ar de GNU les stocke dans un fichier virtuel nommé // et y fait référence sous la forme /numéro.
Comments