Ls -l'de @ ne anlama geliyor?


121

Mac OSX kullanıyorum. Yazı yazarken şöyle bir ls -lşey görüyorum

drwxr-xr-x@ 12 xonic  staff    408 22 Jun 19:00 .
drwxr-xr-x   9 xonic  staff    306 22 Jun 19:42 ..
-rwxrwxrwx@  1 xonic  staff   6148 25 Mai 23:04 .DS_Store
-rw-r--r--@  1 xonic  staff  17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@  1 xonic  staff   3843 21 Jun 21:20 filmStrip.h

@ Ne anlama geliyor?

Yanıtlar:


116

Dosyanın genişletilmiş öznitelikleri olduğunu gösterir . Bunları xattrgörüntülemek ve değiştirmek için komut satırı yardımcı programını kullanabilirsiniz:

xattr -l file # lists the names of all xattrs.
xattr -w attr_name attr_value file # sets xattr attr_name to attr_value.
xattr -d attr_name file # deletes xattr attr_name.
xattr -c file # deletes all xattrs.
xattr -h # prints help

9
10.8 (Dağ Aslanı) 'da - liste geçerli değildir. -I.
Mark E. Haase

4
Eğer bir türdeki tüm dosyaları bulmak ve OSX karantina attr kaldırmak istiyorsanız: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Bu yüzden bu soruyu buldum.
jcollum

2
ayrıca, SEO için: @, "sembol"
dür

Benim için işe yaramadı. --Delete yerine xattr -d kullanmak zorunda kaldı.
geoidesic

2
@jcollum daha iyi, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine( -type fgerekli olup olmadığından emin değilim ). Her ne sebeple, her ne sebeple, şu anda hiçbir komut benim için çalışmıyor ... Bu benim için çalıştı:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael

26

Snow Leopard'da, en azından, daha fazla bilgi göstermek için bunu yapabilirsiniz:

ls -l@

xattrKılavuzdan sağa :Attribute names can also be displayed using ``ls -l@''.
ordonezalex 14:17

3

Gelişmiş özellikleri var - ls hakkında daha fazla bilgi için buradaki OSX kılavuz sayfasına bakın .


2

Bu postaya Apple posta listelerinde bir göz atmak isteyebilirsiniz . @ İşaretinin Finder'ın ACL dışındaki genişletilmiş öznitelikleri olduğunu gösterdiğini açıklar.



0

OSX'te bu, dosyayla ilişkili meta verilerin varlığını gösterir.


Bu Linux'ta sembolik bağlantı anlamına da gelmez - sembolik bağlar, ilk izinler sütununda bir l ile gösterilir veya yolun sonunda, izinler dizesinin sonunda değil, bir @ ile kopuk bağlantılar gösterilir.
BR

Anladım, düzenlendi.
kbyrd

0

Michael Mrozek'in cevabına ek olarak:

OSX 10.10'da (Yosemite) şu attrx parametrelerini kullanmanız gerekebilir:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.