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?

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

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@

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.


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.



0

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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.