O que o sinal “@” significa na saída ls -l?

11

Eu tenho esta saída no 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

O que significa "@" ao lado das permissões?

Leventix
fonte

Respostas:

15

Isso significa que esses arquivos têm atributos estendidos do sistema de arquivos que não são as permissões normais do Unix. Tente fazer o xattr plstart e veja que tipo de coisas estão definidas.

Kashani
fonte
Obrigado, parece TextMate tinha algumas propriedades sobre eles: com.macromates.caret. Salvar no MacVim limpou.
Leventix
1
ls -l@também listará os atributos estendidos. Use xattr -lpara ver os valores xattr, bem como apenas os nomes dos atributos.
Gordon Davisson 14/02
5

A Kashani usa isso xattrpara exibir os bits complicados extras. Mais especificamente, no OSX, é provável que isso seja chamado de Bifurcação de Recursos. O sistema de arquivos subjacente usado pelo OSX, HFS +, possui segmentos de dados extras que podem armazenar todo tipo de informação. Aliás, você também pode ver a mesma coisa nas montagens SMB, NTFS, etc, na forma de arquivos ._FILENAME.

Para uma redação completa do Resource Forks, consulte o artigo da wikipedia ou o site da Apple Developer .

Scott Pack
fonte
Isso é falso, atributos estendidos são independentes do (agora pouco usado) Resource Fork e ferramentas como xattr que lidam com um não necessariamente sabem nada sobre o outro.
Blahdiblah