Özet
xattr [-lrsvx] file ...
xattr -p [-lrsvx] attr_name file ...
xattr -w [-rsx] attr_name attr_value file ...
xattr -d [-rsv] attr_name file ...
xattr -c [-rsv] file ...
xattr -h | --help
Açıklama
xattr komutu; dizinler ve sembolik bağlar (symbolic link) dahil olmak üzere bir veya daha fazla dosyanın genişletilmiş özniteliklerini (extended attributes) görüntülemek, değiştirmek veya kaldırmak için kullanılabilir. Genişletilmiş öznitelikler, bir dosya ile birlikte saklanan ancak dosya sistemi özniteliklerinden (değiştirilme zamanı veya dosya boyutu gibi) ayrı olan isteğe bağlı meta verilerdir. Bu meta veriler genellikle null ile sonlandırılmış bir UTF-8 dizgisidir, ancak isteğe bağlı ikili (binary) veriler de olabilir.
Komut satırında bir veya daha fazla dosya belirtilebilir. Komutun ilk iki biçimi için birden fazla dosya olduğunda, gerçek sonuçlarla birlikte dosya adı da görüntülenir. Yalnızca tek bir dosya belirtildiğinde, dosya adının görüntülenmesi genellikle engellenir (aşağıda açıklanan -v seçeneği de belirtilmediği sürece).
Komutun ilk biçiminde (başka herhangi bir mod seçeneği belirtilmediğinde), tüm genişletilmiş özniteliklerin adları listelenir. Öznitelik adları “ls -l@” kullanılarak da görüntülenebilir.
İkinci biçimde, -p seçeneği (“print” - yazdır) kullanılarak, verilen öznitelik adıyla ilişkili değer görüntülenir. Öznitelik değerleri genellikle dizgi (string) olarak görüntülenir. Ancak veride boşluklar (nil) tespit edilirse değer, onaltılık (hexadecimal) bir gösterimle görüntülenir.
Üçüncü biçimde, -w seçeneği (“write” - yaz) ile, verilen öznitelik adına verilen değer atanır.
Dördüncü biçimde, -d seçeneği (“delete” - sil) ile, verilen öznitelik adı (ve ilişkili değer) kaldırılır.
Beşinci biçimde, -c seçeneği (“clear” - temizle) ile, tüm öznitelikler (ilişkili değerleri dahil) kaldırılır.
Son olarak, -h veya --help seçeneğini içeren son biçim, kısa bir yardım mesajı görüntüler ve hemen çıkış yapar.
Seçenekler
-l: Varsayılan olarak, ilk iki komut biçimi sırasıyla yalnızca öznitelik adlarını veya değerlerini görüntüler. -l seçeneği, hem öznitelik adlarının hem de bunlara karşılık gelen değerlerin görüntülenmesini sağlar. Değerlerin onaltılık (hexadecimal) olarak görüntülenmesinde çıktı, onaltılık ofset değerleri ile başlar ve ardından “|” karakterleri içine alınmış ASCII gösterimi ile devam eder.-r: Eğer bir dosya argümanı dizin ise, dizinin tüm içeriği özyinelemeli (recursive) olarak da belirtilmiş gibi davranır (böylece dizin ağacındaki her dosya üzerinde işlem yapılır).-s: Eğer bir dosya argümanı sembolik bağ ise, sembolik bağın işaret ettiği dosya yerine sembolik bağın kendisi üzerinde işlem yapar.-v: Tek bir dosya için bile dosya adının görüntülenmesini zorunlu kılar.-x: Öznitelik değerinin onaltılık (hexadecimal) gösterimde görüntülenmesini zorunlu kılar.
-w seçeneği normalde girdi öznitelik değerinin bir dizgi olduğunu varsayar. -x seçeneğinin belirtilmesi, xattr'ın girdiyi onaltılık (hexadecimal) biçimde beklemesine neden olur (boşluklar yoksayılır). Mevcut ikili (binary) verilerden xattr'a aktarılmak üzere onaltılık gösterimler oluşturmak için xxd(1) komutu kullanılabilir.
Çıkış Durumu
xattr komutu başarılı olduğunda sıfır durumuyla çıkış yapar. Hata durumunda sıfır dışı bir değer döndürülür ve standart hataya (stderr) bir hata mesajı yazdırılır. Sistem çağrısı hataları için hem hata kodu hem de hata dizgisi yazdırılır (olası hata kodlarının tam listesi için getxattr(2), listxattr(2), removexattr(2) ve setxattr(2) belgelerine bakın).
Bazı öznitelik verileri, sistem tarafından zorunlu kılınan sabit bir uzunluğa sahip olabilir. Örneğin,
% xattr -w com.apple.FinderInfo 0 foo xattr: [Errno 34] Result too large: 'foo'
com.apple.FinderInfo özniteliğinin uzunluğu 32 bayt olmalıdır.
Örnekler
Bu örnek, com.apple.FinderInfo özniteliğini /usr dizininden MyDir
dizinine kopyalar:
% xattr -px com.apple.FinderInfo /usr
00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
% xattr -l MyDir
% xattr -wx com.apple.FinderInfo \
"`xattr -px com.apple.FinderInfo /usr`" MyDir
% xattr -l MyDir
com.apple.FinderInfo:
00000000 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
Ayrıca Bakınız
ls(1), xxd(1), getxattr(2), listxattr(2), removexattr(2), setxattr(2)
macOS 26.4 29 Kasım 2010 macOS 26.4