Attributs

Les attributs sont des champs de données associés à un fichier, mais qui ne font pas partie intégrante de ce fichier, c'est à dire qu'ils ne sont pas comptés dans sa taille et qu'ils peuvent être copiés ou modifier sans modifier le fichier lui-même. Le système utilise ces attributs pour enregistrer entre autres la taille des fichiers, leur type et leur date de modification. Ceci est similaire au fonctionnement d'autre systèmes d'exploitation et de leurs systèmes de fichiers.

En plus de ce mécanisme commun, Haiku vous permet d'ajouter n'importe quel attribut à n'importe quel fichier et de l'afficher ou de l'éditer dans une fenêtre Tracker. Vous devez juste définir le type d'attribut (chaîne de caractères, entier, date...) que vous voulez ajouter à un type de fichier donné et lui donner un nom et une description.

Les fichiers en eux-même n'ont pas besoin de contenir quoi que ce soit. Par exemple, jetez un œil à ces fichiers People :

people.png

Comme vous pouvez le voir, ce sont tous des fichiers vides (de taille 0) avec des attributs attachés, comme par exemple l'attribut "E-mail" de "John Nox" qui est en cours d'édition directement depuis le Tracker.

Si ces attributs sont indexés, ce qui est par défaut le cas des fichiers People, Email et audio, ils pourront être recherchés via le système de requêtes rapide de Haiku.

index Les attributs dans le Tracker

Les attributs sont affichés de manière similaire à celle d'une base de données ou d'un feuille de calcul. Le Tracker vous permet de choisir quels attributs (colonnes) afficher et comment trier les fichiers (lignes) d'après ceux-ci.

Pour ce faire, ouvrez une fenêtre Tracker, cliquez sur le menu Attributes et sélectionnez les attributs que vous voulez afficher. Vous pouvez également effectuer un clic droit sur l'en-tête de la fenêtre et cocher les éléments dans le menu contextuel. Vous pouvez réarranger les colonnes par un simple glisser-déposer, et supprimer celles inutiles en les glissant hors de la fenêtre.

Double-cliquez sur la ligne entre deux attributs dans l'en-tête pour redimensionner une colonne à sa taille optimale.

Cliquez l'en-tête d'une colonne pour basculer l'ordre d'affichage entre croissant et décroissant. Vous pouvez mettre en place un ordre de tri secondaire en pressant la touche MAJ tout en cliquant sur un en-tête. De cette manière, vous pouvez par exemple trier vos fichiers People par compagnie, puis par nom de contact. Voyez la capture d'écran précédente pour un exemple. L'ordre de recherche secondaire est indiqué par un indicateur grisé à côté du titre de l'en-tête.

Il est aussi facile d'éditer ces attributs que les noms des fichiers : Cliquez sur un champ, ou bien tapez CMD E et déplacez-vous entre les attributs avec les touches TAB et MAJ TAB. ESC Permet de quitter le mode édition sans sauvegarder les changements.

index Les attributs dans le Terminal

Si vous préférez utiliser la ligne de commande ou souhaitez modifier un grand nombre d'attribut à l'aide de scripts shell, vous pouvez utiliser plusieurs commandes de contrôle d'attributs depuis un Terminal.

index listattr

listattr liste les attributs d'un fichier, mais n'affiche pas le contenu desdits attributs.

usage: listattr 'nom_de_fichier' ['nom_de_fichier2' ...]

En l'appelant sur un des fichiers de l'exemple précédent, voici le résultat :

 ~/people ->listattr Clara\ Botters
File: Clara Botters
   Type         Size                 Name
-----------  ---------  -------------------------------
MIME String         21  "BEOS:TYPE"
        Text         14  "META:name"
        Text          6  "META:nickname"
        Text          1  "META:company"

        Text         18  "META:address"
        Text          8  "META:city"
        Text          1  "META:state"
        Text          1  "META:zip"
        Text          1  "META:country"

        Text          1  "META:hphone"
        Text         13  "META:wphone"
        Text          1  "META:fax"
        Text         19  "META:email"
        Text          1  "META:url"

        Text          5  "META:group"
    Raw Data         20  "_trk/pinfo_le"
 
131 bytes total in attributes.

Hormis les attributs "META:*" qui contiennent les informations sur le contact en question, deux attributs sont directement gérés par le système :

Notez l'antislash après "Clara". Dans le Terminal, vous devez "échapper" certains caractères spéciaux comme '"*\$?!. L'espace entre "Clara" et "Botters" est aussi un caractère spécial. On place donc un antislash devant celui-ci pour qu'il se comporte comme un caractère normal.

index catattr

catattr affiche le contenu d'un attribut spécifique d'un fichier.

usage: catattr [--raw|-r] nom_attribut fichier1 [fichier2...]

Encore une fois, avec notre exemple :

 ~/people ->catattr META:city Clara\ Botters
Clara Botters : string : Whelton

index addattr

addattr ajoute un attribut à un fichier et/ou définit sa valeur.

usage: addattr [-t type] attribut valeur fichier1 [fichier2...]
    or: addattr [-f valeur-depuis-fichier] [-t type] attribut fichier1 [fichier2...]
 
         Le type peut être:
                 string, mime, int, llong, float, double, bool, icon, raw
                 ou une valeur numérique (ie. 0x1234, 42, 'ABCD', ...)
         Le type par défaut est "string"

Donc si par exemple Clara vient de commencer à travailler pour la multinationale Barkelbaer Inc., vous pourrez remplir le champ "Company" qui était vide avec cette information (qui est de type "string", chaîne de caractères)  :

 ~/people ->addattr -t string META:company Barkelbaer\ Inc. Clara\ Botters

index rmattr

rmattr supprime complètement un attribut d'un fichier.

usage: rmattr [-p] attribut fichier1 [fichier2...]
         'attribut' est le nom d'un attribut du fichier.
         Si '-p' est spécifié, 'attribut' est considéré comme un motif de recherche.

Même s'il serait suffiant de ne pas remplir l'attribut "Fax", vous pouvez le supprimer complètement du fichier de Clara en tapant :

 ~/people ->rmattr META:fax Clara\ Botters

index copyattr

copyattr permet de copier des attributs d'un fichier à un autre. par défaut, les contenus des fichiers eux-mêmes ne sont pas copiés.

Usage: copyattr <options> <source> [ ... ] <destination>

Si vous voulez également copier les données du fichier, vous pouvez utiliser l'option "-d" ou "--data".


Pour obtenir plus d'information sur ces commandes et leurs options respectives, vous pouvez taper le nom de la commande suivi de "-h" ou "--help".