Co oznacza znak „@” w wyjściu ls -l?

11

Mam to wyjście na 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

Co oznacza „@” obok uprawnień?

Leventix
źródło

Odpowiedzi:

15

Oznacza to, że te pliki mają rozszerzone atrybuty z systemu plików, które nie są normalnymi uprawnieniami uniksowymi. Spróbuj wykonać xattr plstart i zobacz, jakie rzeczy są ustawione.

kashani
źródło
Dzięki, wydaje się jak TextMate miał pewne właściwości na nich com.macromates.caret. Zapisywanie w MacVimie zostało usunięte.
Leventix
1
ls -l@wyświetli także listę atrybutów rozszerzonych. Służy xattr -ldo wyświetlania wartości xattr, a także samych nazw atrybutów.
Gordon Davisson
5

Kashani ma to od razu, dzięki xattrczemu wyświetla dodatkowe zbędne elementy. Mówiąc dokładniej, w OSX jest to prawdopodobnie tak zwany Widelec zasobów. Podstawowy system plików używany przez OSX, HFS +, ma dodatkowe segmenty danych, które mogą przechowywać wszystkie rodzaje informacji. Nawiasem mówiąc, możesz również zobaczyć to samo na podłączeniach SMB, NTFS itp. W postaci plików ._FILENAME.

Pełny tekst na temat wideł do zasobów można znaleźć w artykule na Wikipedii lub w witrynie Apple Developer .

Scott Pack
źródło
To nieprawda, rozszerzone atrybuty są niezależne od (obecnie mało używanego) Widelca zasobów, a narzędzia takie jak xattr, które radzą sobie z jednym, niekoniecznie wiedzą o drugim.
blahdiblah