← man/files
xattr — man xattr — 80×24
ugur@toprak:~/man/files$man xattr
Bölüm 1 Dosyalar

xattr

genişletilmiş öznitelikleri görüntüler ve bunlar üzerinde işlem yapar

Ö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