Atributos

Los atributos son campos de datos que pertenecen a un archivo o fichero pero no son parte de él. Por ejemplo, no cuentan en el tamaño del fichero y pueden ser copiados o modificados sin tocar el archivo en sí mismo. El sistema utiliza estos atributos para almacenar, por ejemplo, el tamaño, tipo de fichero, o fecha de la última modificación. Esto es similar a otros sistemas operativos y sus sistemas de archivos.

Lo que es diferente es que se puede añadir cualquier tipo de atributo a cualquier fichero y mostrarlo o hacerlo editable en una ventana del Tracker. Tan sólo tiene que definir el tipo de atributo que quiere añadir a un tipo de fichero (por ejemplo un string o texto, un integer o número entero o una fecha) darle una descripción y un nombre.

El fichero en sí mismo ni siquiera necesita contenido. Mire estos ficheros tipo Persona por ejemplo:

people.png

Como se puede observar, todos estos son ficheros de tamaño cero con atributos adjuntos. Este es el atributo de correo electrónico de "John Nox" siendo editado directamente en Tracker.

Si se indexan estos atributos, como tipo Persona, tipo correo electrónico, o ficheros de sonido, que se indexan predeterminadamente, serán también localizables mediante el sistema de búsqueda rápida de Haiku.

index Atributos en Tracker

Los atributos se muestran de forma muy similar a una base de datos o una hoja de cálculo. Utilizando a Tracker se puede elegir qué atributos mostrar (columnas) y ordenar las listas de archivos (filas) respectivamente.

Para hacerlo, abra una ventana de Tracker, haga clic en el menú de Attributes (Atributos) y seleccione los atributos que desee que se muestren. Otra forma de hacerlo es hacer clic derecho en la cabecera de la columna y marcar los elementos en el menú contextual. Se pueden reordenar las columnas con un simple movimiento de arrastrar y soltar en la cabecera de la columna. Mover las columnas fuera de una ventana es una forma rápida de deshacerse de las columnas que no necesite.

Hacer doble clic en la línea entre dos atributos de una cabecera redimensionará automáticamente la columna a su ancho óptimo.

Haga clic en una cabecera de columna para activar o desactivar el orden de clasificación ascendente o descendente. Se puede establecer un modo de clasificación secundario pulsando la tecla SHIFT mientras se hace clic en una cabecera de columna. Al hacer esto se puede, por ejemplo, ordenar los archivos tipo Persona por compañía, y ordenar éste por nombre de contacto. El tipo de orden secundario se marca mediante un indicador de color claro añadido a la cabecera.

Editar estos atributos es tan sencillo como renombrar el archivo: se puede, o bien hacer clic en una entrada, o bien pulsar ALT E y moverse entre los atributos con TAB y SHIFT + TAB. La tecla ESC sale del modo de edición sin guardar los cambios.

index Atributos en la terminal

Si prefiere utilizar la línea de comandos o tiene pensado trabajar con muchos archivos utilizando scritpting, hay varias órdenes para controlar los atributos desde la terminal.

Más información sobre estos comandos y sus opciones pueden encontrarse al escribir el nombre del comando seguido por "-h" o "--help".

index listattr

listattr muestra una lista de los atributos de un archivo, pero de manera predeterminada no muestra los contenidos de los mismos. Para eso, debe incluirse el parámetro -l o --long.

usage: listattr [-l|--long] 'filename' ['filename' ...]

Captura de pantalla de ejemplo:

 ~/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.

Además de todos los atributos"META:*" que mantienen la información de los contactos, hay dos atributos que se administran por el sistema:

Note la diagonal invertida después de "Clara". En la terminal se debe usar notación de "escape" en carácteres especiales como '"*\\$?!. El espacio entre "Clara" y "Botters" también es uno de ellos. Por lo tanto la diagonal invertida está en realidad junto al carácter espacio, y no después de "Clara".

index catattr

catattr despliega el contenido de un atributo específico de un archivo.

usage: catattr [--raw|-r] attr_name file1 [file2...]

De nuevo en nuestro ejemplo:

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

index addattr

addattr agrega un atributo a un archivo y/o la llena con un valor.

usage: addattr [-t type] attr value file1 [file2...]
    or: addattr [-f value-from-file] [-t type] attr file1 [file2...]
 
         Type is one of:
                 string, mime, int, llong, float, double, bool, icon, raw
                 or a numeric value (ie. 0x1234, 42, 'ABCD', ...)
         The default is "string"

Así que digamos que nuestra querida Clara consiguió un trabajo con la multinacional Barkelbaer Inc., y se llene el atributo "Company" anteriormente vacío con esa información (la cual es del tipo "string"):

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

index rmattr

rmattr remueve completamente un atributo de un archivo.

usage: rmattr [-p] attr filename1 [filename2...]

Aunque en la práctica sería suficiente sólo con no llenar el atributo "Fax", se puede removerlo completamente del archivo de Clara escribiendo:

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

index copyattr

copyattr copia atributos de uno o más archivos a otro. Predeterminadamente, el contenido real del archivo no se copian.

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

Si desea copiar los atributos más la información dentro del mismo archivo, puede agregar la opción "-d" o la opción "--data".