Öznitelikler

Öznitelikler, bir dosyaya iye olan; ancak o dosyanın bir parçası olmayan veri alanlarıdır. Dosya boyutuna dahil değildirler ve dosyanın kendisine dokunmadan kopyalanabilir veya değiştirilebilirler. Sistem, bu öznitelikleri dosya boyutu, dosya türü, tarih veya son değiştirilme gibi verileri depolamak için kullanır. Bu işlemler diğer işletim sistemleri ve onların dosya sistemleri ile benzerlik gösterir.

Buradaki ayrım, herhangi bir dosyaya herhangi bir tür özniteliği ekleyebilir ve bunları bir İzleyici penceresinde görüntüleyebilir veya düzenleyebilirsiniz. Yapmanız gereken tek şey, eklemek istediğiniz öznitelik türünü belirtmek (örn. dizi, tamsayı veya zaman) ve bir ad ve açıklama vermektir.

Dosyanın herhangi bir içeriğe iye olmasına gerek bile yoktur. Örneğin aşağıdaki Kişiler dosyalarına bir göz atın:

people.png

Görebileceğiniz gibi, bunların hepsi kendilerine öznitelikler iliştirilmiş sıfır boyutlu dosyalardır. Bu örnekte John Nox kişisinin e-posta adresi düzenlenmektedir.

Öznitelikler, indekslendikleri takdirde, Haiku'nun hızlı sorgulama sisteminde aranabilirler. Kişiler, E-posta veya ses dosyaları öntanımlı olarak indekslenirler.

index Öznitelikleri İzleyici'de Görüntüleme

Öznitelikler, bir veritabanı veya hesap tablosuna benzer bir biçimde görüntülenirler. İzleyici'yi kullanarak hangi özniteliklerin görüntüleneceğini (sütunlar) seçebilir ve dosya listelemelerini (satırlar) buna göre sıralayabilirsiniz.

Bunu yapmak için, bir İzleyici penceresi açın, Öznitelikler menüsüne tıklayın ve görüntülemek istediğiniz öznitelikleri seçin. Alternatif olarak, bir stun başlığına sağ tıklayın ve bağlam menüsündeki girdileri imleyin. Sütunları sürükle-bırak yöntemiyle yeniden düzenleyebilirsiniz. Bir sütunu pencere dışına taşımak o sütunu kolay yoldan kaldırmanızı sağlar.

İki öznitelik başlığı arasındaki çizgiye sağ tıklamak sütunu kendiliğinden olabilecek en iyi genişliğe ayarlamanızı sağlar.

Bir sütun başlığına tıklamak içeriği çoktan aza doğru sıralar. SHIFT düğmesine basılı tutup tıklamak ikincil sıralama düzenini işletir. Yukarıdaki ekran görüntüsünde görebileceğiniz üzere, "Company" sütun başlığına tıklamak girdileri şirkete göre sıralarken, "Contact name" sütununun ikincil sıralama girdisi olarak kullanıldığını görebilirsiniz. İkincil sıralama düzenini belirten simge daha hafif bir tonda belirtilir.

Bu öznitelikleri düzenlemek bir dosyayı yeniden adlandırmak kadar kolaydır: Ya bir girdinin üzerine tıklayın ya da ALT E düğmelerine basın ve öznitelikler arasında TAB ve SHIFT TAB düğmeleri ile gezinin. ESC düğmesine basmak değişikliklerinizi kaydetmeden düzenleme kipinden çıkmanızı sağlar.

index Öznitelikleri Uçbirimde Görüntüleme

Komut satırını kullanmayı yeğliyorsanız veya betikler kullanarak birden çok dosya üzerinde çalışacaksanız öznitelikleri uçbirimden denetlemek için birkaç komut bulunmaktadır.

Bu komutlar ve seçenekleri üzerine daha çok bilgiyi "-h" or "--help" özellikleri ile görüntüleyebilirsiniz.

index listattr

listattr bir dosyanın özniteliklerini listeler; ancak özniteliklerin içeriğini göstermez. Bunun için -l veya --long eklemeniz gerekir.

kullanım: listattr [-l|--long] 'dosya-adı' ['dosya-adı' ...]

Yukarıdaki ekran görüntüsünden örnekle:

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

Kişinin bilgisini tutan "META:*" özniteliklerinin yanında, sistem tarafından yönetilen iki öznitelik vardır:

"Clara"nın ardından gelen ters eğik çizgiye dikkat edin. Uçbirim'de '"*\$?! gibi "özel" karakterleri kaçırmanız gerekir. "Clara" ve "Botters" arasındaki boşluk da bunlardan biridir. Böylece, ters eğik çizginin "Clara"nın ardında değil de boşluğun önünde olduğunu söyleyebiliriz.

index catattr

catattr bir dosyanın belirtilen özniteliğinin içeriğini listeler.

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

Yine örneğimize bakacak olursak:

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

index addattr

addattr bir özniteliği dosyaya ekler ve/veya ona bir değer verir.

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"

Diyelim ki, Clara, Barkelbaer Inc. şirketinde yeni bir işe başladı ve siz de daha önceden boş olan "Company" özniteliğini bir veriyle doldurmak istiyorsunuz (dizi türünde):

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

index rmattr

rmattr bir özniteliği dosyadan tümüyle kaldırır.

kullanım: rmattr [-p] attr dosya-adı1 [dosya-adı2...]

Clara'nın dosyasından "Fax" özniteliğini kaldırmak için:

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

index copyattr

copyattr öznitelikleri bir dosyadan diğerine kopyalar. Öntanımlı olarak, dosyanın gerçek içeriği kopyalanmaz.

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

Hem öznitelikleri hem de dosya verisini kopyalamak isterseniz "-d" veya "--data" değişkenlerini ekleyebilirsiniz.