Was bedeutet das @ -Zeichen in der Ausgabe von ls -l?

11

Ich habe diese Ausgabe unter MacOSX:

$ ls -l
total 40
-rwxr-xr-x@ 1 levente  staff   52 30 Sep 15:38 pl
-rwxr-xr-x  1 levente  staff  675 14 Feb 17:07 plplay
-rwxr-xr-x@ 1 levente  staff  662 26 Jan 14:13 plstart
-rwxr-xr-x@ 1 levente  staff  296  1 Dec 11:50 plstop
-rwxr-xr-x@ 1 levente  staff  268 29 Dec 18:44 plweb

Was bedeutet das "@" neben den Berechtigungen?

Leventix
quelle

Antworten:

15

Dies bedeutet, dass diese Dateien über erweiterte Attribute aus dem Dateisystem verfügen, die nicht den normalen Unix-Berechtigungen entsprechen. Versuchen Sie xattr plstart und sehen Sie, welche Art von Dingen eingestellt sind.

kashani
quelle
Danke, anscheinend hatte TextMate einige Eigenschaften : com.macromates.caret. Das Speichern in MacVim löschte es.
Leventix
1
ls -l@listet auch die erweiterten Attribute auf. Verwenden xattr -lSie diese Option, um die xattr-Werte sowie nur die Attributnamen anzuzeigen.
Gordon Davisson
5

Kashani hat es richtig gemacht xattr, um die extra fummeligen Teile anzuzeigen. Unter OSX wird dies wahrscheinlich als Resource Fork bezeichnet. Das zugrunde liegende Dateisystem, das OSX verwendet, HFS +, verfügt über zusätzliche Datensegmente, in denen alle Arten von Informationen gespeichert werden können. Übrigens können Sie dasselbe auch in SMB-, NTFS- usw. Bereitstellungen in Form von ._FILENAME-Dateien sehen.

Ausführliche Informationen zu Resource Forks finden Sie entweder im Wikipedia-Artikel oder auf der Apple Developer- Website.

Scott Pack
quelle
Dies ist falsch, erweiterte Attribute sind unabhängig von der (jetzt wenig genutzten) Resource Fork und Tools wie xattr, die sich mit dem einen befassen, wissen nicht unbedingt etwas über das andere.
Blahdiblah