Что означает знак "@" в выводе ls -l?

У меня есть этот вывод на 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

Что означает "@" рядом с разрешениями?

2 ответа

Решение

Это означает, что эти файлы имеют расширенные атрибуты из файловой системы, которые не являются обычными разрешениями Unix. Попробуйте выполнить xattr plstart и посмотрите, какие настройки установлены.

Кашани имеет право на использование xattr чтобы отобразить лишние битые биты. В частности, в OSX это, скорее всего, то, что называется Resource Fork. Базовая файловая система, которую использует OSX, HFS+, имеет дополнительные сегменты данных, которые могут хранить любую информацию. Между прочим, вы также можете увидеть то же самое на монтируемых SMB, NTFS и т. Д. В виде файлов._FILENAME.

Полный текст статьи о Resource Forks можно найти в статье в Википедии или на сайте Apple Developer.

Другие вопросы по тегам