Was bedeutet das @ in ls -l?


121

Ich benutze Mac OSX. Wenn ich tippe ls -lsehe ich sowas

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

Was bedeuten die @?

Antworten:


116

Es zeigt an, dass die Datei erweiterte Attribute hat . Mit dem xattrBefehlszeilenprogramm können Sie sie anzeigen und ändern:

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
In 10.8 (Mountain Lion) ist --list nicht gültig. Ich bin's.
Mark E. Haase

4
wenn Sie alle Dateien eines Typs zu finden und die Quarantäne attr in OSX entfernen: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Deshalb habe ich diese Frage gefunden.
Jcollum

2
auch für SEO: @ ist das "at symbol"
jcollum

Hat bei mir nicht funktioniert. Musste xattr -d anstelle von --delete verwenden.
Geoidesic

2
@jcollum noch besser, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine(nicht sicher, ob das -type fnötig ist). Obwohl im Moment aus irgendeinem Grund keiner der beiden Befehle für mich funktioniert ... Dieser hat für mich funktioniert:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael

26

Zumindest in Snow Leopard können Sie dies tun, um weitere Informationen anzuzeigen:

ls -l@

Direkt aus dem xattrHandbuch:Attribute names can also be displayed using ``ls -l@''.
ordonezalex

3

Es hat erweiterte Attribute - Weitere Informationen zu ls finden Sie auf der OSX-Manpage hier .


2

Vielleicht möchten Sie sich diesen Beitrag in den Apple-Mailinglisten ansehen . Es wird erklärt, dass das @ anzeigt, dass der Finder andere erweiterte Attribute als ACL hat.



0

Unter OSX zeigt dies das Vorhandensein von Metadaten an, die der Datei zugeordnet sind.


Dies bedeutet auch unter Linux keine symbolische Verknüpfung - symbolische Verknüpfungen werden in der ersten Spalte der Berechtigungen durch ein l gekennzeichnet, oder unterbrochene Verknüpfungen durch ein @ am Ende des Pfads und nicht am Ende der Berechtigungszeichenfolge.
BR

Verstanden, bearbeitet.
kbyrd

0

Zusätzlich zu Michael Mrozeks Antwort:

Unter OSX 10.10 (Yosemite) müssen Sie möglicherweise die folgenden attrx-Parameter verwenden:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.