Que signifie le @ dans ls -l?

121

J'utilise Mac OSX. Quand je tape ls -lje vois quelque chose comme

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

Que signifient les @?

Larry Wang
la source

Réponses:

116

Cela indique que le fichier a des attributs étendus . Vous pouvez utiliser l' xattrutilitaire de ligne de commande pour les afficher et les modifier:

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
Michael Mrozek
la source
9
Dans 10.8 (Mountain Lion), --list n'est pas valide. C'est -l.
Mark E. Haase
4
si vous voulez trouver tous les fichiers d'un type et retirez la attr de quarantaine dans OSX: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. C'est pourquoi j'ai trouvé cette question.
jcollum
2
aussi, pour le référencement: @ est le "at symbol"
jcollum
Ca n'a pas marché pour moi. Il a fallu utiliser xattr -d au lieu de --delete.
Géoidesic
2
@ jcollum encore mieux (je find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantinene sais pas si -type fc'est nécessaire). Bien que, pour une raison quelconque, aucune commande ne fonctionne pour moi pour le moment ... Celle-ci a fonctionné pour moi:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael
26

Dans Snow Leopard, au moins, vous pouvez le faire pour afficher plus d'informations:

ls -l@
Kevin Cantu
la source
À partir du xattrmanuel:Attribute names can also be displayed using ``ls -l@''.
ordonezalex le
3

Il a des attributs étendus - Consultez la page de manuel OSX ici pour plus d’informations sur ls.

Frozenskys
la source
2

Vous voudrez peut-être consulter ce message dans les listes de diffusion Apple. Il explique que le @ indique que le Finder a des attributs étendus autres que ACL.

Zugaldia
la source
0

Sous OSX, cela indique la présence de métadonnées associées au fichier.

kbyrd
la source
Cela ne signifie pas non plus que les liens symboliques sous Linux - les liens symboliques sont désignés par un l dans la première colonne d'autorisations, ou les liens rompus par un @ à la fin du chemin, pas à la fin de la chaîne des autorisations.
BR
Je l'ai eu, édité.
kbyrd
0

En plus de la réponse de Michael Mrozek:

Sous OSX 10.10 (Yosemite), vous pouvez utiliser les paramètres attrx suivants:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
Meshfields
la source