O que significa @ em ls -l?

121

Estou usando o Mac OSX. Quando digito ls -l, vejo algo como

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

O que os @ significam?

Larry Wang
fonte

Respostas:

116

Indica que o arquivo possui atributos estendidos . Você pode usar o xattrutilitário de linha de comando para visualizá-los e modificá-los:

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
fonte
9
Em 10.8 (Mountain Lion), --list não é válido. É -l.
precisa
4
Se você quiser encontrar todos os arquivos de um tipo e remova o attr quarentena em OSX: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Por isso encontrei esta pergunta.
Jcollum
2
também, para SEO: @ é o símbolo "at"
jcollum 26/06/2015
Não funcionou para mim. Teve que usar xattr -d em vez de --delete.
Geoidesic
2
@jcollum melhor ainda, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine(não tenho certeza se -type fé necessário). Embora, por algum motivo, nenhum dos comandos esteja funcionando para mim no momento ... Este funcionou para mim:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael
26

No Snow Leopard, pelo menos, você pode fazer isso para mostrar mais informações:

ls -l@
Kevin Cantu
fonte
Direito do xattrmanual:Attribute names can also be displayed using ``ls -l@''.
ordonezalex 14/06
3

Ele possui atributos estendidos - Consulte a página de manual do OSX aqui para obter mais informações sobre ls.

Frozenskys
fonte
2

Você pode dar uma olhada nesta postagem nas listas de discussão da Apple. Explica que o @ mostra que o Finder possui atributos estendidos diferentes da ACL.

zugaldia
fonte
0

No OSX, isso indica a presença de metadados associados ao arquivo.

kbyrd
fonte
Também não significa link simbólico no Linux - os links simbólicos são indicados por l na primeira coluna de permissões ou os links quebrados por um @ no final do caminho, não no final da cadeia de permissões.
BR
Entendi, editado.
kbyrd
0

Além da resposta de Michael Mrozek:

No OSX 10.10 (Yosemite), você pode ter que usar estes parâmetros attrx:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
campos de malha
fonte