Attribut
Attribut är datafält som tillhör en fil men inte är en del av filen, de räknas därmed inte med i storleken på filen. Attribut kan kopieras eller ändras utan att röra själva filen. Haiku använder dessa attribut till att lagra bland annat filstorlek, filtyp och datum för senaste ändringen. Detta liknar andra operativsystem och filsystem.
Det som skiljer Haiku mot andra operativsystem är att du kan lägga till vilken typ av attribut som helst till vilken fil som helst. Dessa kan sedan visas eller göras redigerbart i ett vanligt Tracker-fönster. Du behöver bara definera vilken typ av attribut du vill lägga till filen (exempelvis en sträng, ett heltal eller ett klockslag) och ge det ett namn och en beskrivning.
Filen själv behöver inte ens innehålla något. Se till exempel på de här Personer-filerna:
Som du kan se har alla de här filerna filstorleken 0 och tillhörande attribut. Attributet E-mail, tillhörande "John Nox", redigeras direkt i Tracker.
Om du låter attributen vara indexerade, som person- e-post- och ljudfiler är som standard, kan de också hittas med Haiku's snabba söksystem.
Attribut i Tracker
Attribut visas på samma sätt som en databas eller ett kalkylark. Med Tracker kan du välja vilka attribut du vill visa (kolumnerna), och sortera fil-listningen (raderna) därefter.
För att göra det, öppna ett Tracker-fönster och klicka på menyn
och välj de attribut du vill visa. Alternativt kan du helt enkelt höger-klicka på en kolumnrubrik och markera alternativen i menyn. Du kan flytta runt kolumnerna genom att dra i kolumnrubrilen och släppa den där du vill ha den. Du kan släppa en kolumn utanför fönstret för att ta bort den.Dubbel-klicka på linjen mellan två attribut i rubrikraden för att automatisk välja en optimal bredd för kolumnen.
Klicka på en kolumnrubrik för att växla mellan stigande eller sjunkande sortering. Du kan bestämma en sekundär sortering genom att hålla ner SHIFT-knappen medan du klickar på en kolumnrubrik. Du kan exempelvis sortera dina personer-filer efter företag och i andra hand efter namn. Se skärmbilden ovan för ett exempel. Den sekundära sorteringen visas med en ljusare färg bredvid rubriken.
Att redigera attribut är lika enkelt som att byta namn på en fil: Klicka på ett attributfält eller tryck ALT E och flytta mellan attribut med TAB och SHIFT TAB. ESC lämnar redigeringsläget uttan att spara ändringarna.
Attribut i Terminalen
Om du föredrar att använda kommandotolken eller planerar att arbeta med många filer genom att använda skript finns det flera kommandon för att hantera attribut från Terminalen.
Kommandot listattr
listattr listar en fils attribut, men visar inte attributens innehåll.
usage: listattr 'filename' ['filename' ...]
Från exemplet i skärmbilden ovan:
~/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.
Förutom alla "META:*"-attribut som innehåller kontaktinformationen finns det två attribut som sköts av Haiku:
BEOS:TYPE innehåller filtypen som en MIME-sträng, i det här fallet "application/x-person". Det bestämmer standardikonen och vilket program som öppnar filen om du dubbel-klickar på den.
"_trk/pinfo_le" är det attribut Tracker använder för att hålla ordning på filens ikonplacering.
Kommandot catattr
catattr visar innehållet i ett specifikt attribut till en fil.
usage: catattr [--raw|-r] attr_name file1 [file2...]
Ett exempel:
~/people ->catattr META:city Clara\ Botters Clara Botters : string : Whelton
Kommandot addattr
addattr lägger till ett attribut till en fil och/eller anger dess innehåll.
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"
Låt säga att vår Clara tog ett jobb i det multinationella företaget Barkelbaer Inc. Du fyller i det hitintills tomma attributet "Company" med företagsnamnet (som är av typen "sträng"):
~/people ->addattr -t string META:company Barkelbaer\ Inc. Clara\ Botters
Kommandot rmattr
rmattr raderar helt ett attribut från en fil.
usage: rmattr [-p] attr filename1 [filename2...] 'attr' is the name of an attribute of the file If '-p' is specified, 'attr' is regarded as a pattern.
Även om det i praktiken skulle vara tillräckligt att bara inte fylla i attributet "Fax", kan du helt radera det från Claras fil genom att skriva:
~/people ->rmattr META:fax Clara\ Botters
Kommandot copyattr
copyattr kopierar attribut från en eller flera filer till en annan. Som standard kopieras inte filens egentliga innehåll.
Usage: copyattr <options> <source> [ ... ] <destination>
Om du vill kopiera attributen plus filens innehåll kan du lägga till växeln "-d" eller "--data".
Mer information om dessa kommandon och dess funktioner hittar du om du skriver deras namn följt av "-h" eller "--help".