Что означает значение @ на выходе «ls» на терминале OS X?

При выполнении ls в каталоге я получаю следующий вывод:

 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 

Мне было интересно, что означает @ .

  • Разрешения Unix-разрешения с пользователями, принадлежащими к той же группе, которые получают доступ к папке
  • Как установить разрешения по умолчанию для автомонтированных дисков FAT в Ubuntu 9.10?
  • Как я могу заставить chown работать рекурсивно?
  • Что эквивалентно корню в Windows 8.1 и как я могу открыть оболочку в этом контексте?
  • Как я могу удалить папку cygwin на моем диске c?
  • Настройка разрешений VSFTPD с сервера Apache
  • Автоматическое обновление Firefox для администрирования школы
  • Есть ли редактор тегов ID3 ​​для iTunes на OS X?
  • Htop не возвращает процессор или память !?
  • Leopard Network Акции и просмотр ненадежны
  • Перемещение swap-файлов в выделенный раздел в Snow Leopard
  • Запись доступа к OSX HDD из Ubuntu
  • 7 Solutions collect form web for “Что означает значение @ на выходе «ls» на терминале OS X?”

    Он указывает, что файл имеет расширенные атрибуты. Используйте ls -l@ чтобы увидеть их.

    Вы можете использовать xattr для редактирования этих атрибутов. xattr -h предоставит вам встроенную помощь.

    С головы до головы, я думаю, что имеет какое-то отношение к файлу, имеющему расширенные атрибуты. Вот ссылка на аналогичную дискуссию:

    http://discussions.apple.com/thread.jspa?messageID=5791060

    Поэтому, если вы видите файл с «@», когда вы делаете ls, попробуйте сделать это:

     xattr -l <filename> 

    Это должно показать вам расширенные атрибуты.

    Вы можете проверить помощь xattr для получения дополнительной информации:

     xattr --help usage: xattr [-l] file [file ...] xattr -p [-l] attr_name file [file ...] xattr -w attr_name attr_value file [file ...] xattr -d attr_name file [file ...] The first form lists the names of all xattrs on the given file(s). The second form (-p) prints the value of the xattr attr_name. The third form (-w) sets the value of the xattr attr_name to attr_value. The fourth form (-d) deletes the xattr attr_name. options: -h: print this help -l: print long format (attr_name: attr_value) 

    Кажется, что если вы посмотрите на дополнительные атрибуты с помощью «-l», а затем удалите их с помощью «-d», это, вероятно, сделает то, что вы хотите. Практикуйте это во временном каталоге где-то сначала, и убедитесь, что он работает;)

    Из справочной страницы ls (1) на Mac OS 10.6.1:

    Если файл или каталог имеют расширенные атрибуты, поле разрешений, напечатанное параметром -l, сопровождается символом «@». В противном случае, если файл или каталог имеет расширенную информацию о безопасности (например, список управления доступом), поле разрешений, напечатанное параметром -l, сопровождается символом «+».

    Из списка доступных опций:

      -@ Display extended attribute keys and sizes in long (-l) output. -e Print the Access Control List (ACL) associated with the file, if present, in long (-l) output. 

    Они позволят вам увидеть значение этих расширенных параметров. FWIW, информация ACL может быть установлена ​​с использованием той же утилиты chmod (1), о которой вы, вероятно, уже знаете. 🙂

    Кажется, что нет простого пути из командной строки, чтобы делать что-либо с расширенными атрибутами.

    На странице man для ls :

    Если задана опция -l, для каждого файла отображается следующая информация: последний режим файла, количество ссылок, имя владельца, имя группы, количество байтов в файле, сокращенный месяц, файл дня месяца, Часовой файл последнего изменения, последний модифицированный файл минут и имя пути.

    Кроме того, для каждого каталога, содержимое которого отображается, общее количество 512-байтных блоков, используемых файлами в каталоге, отображается непосредственно в строке непосредственно перед информацией для файлов в каталоге.

    Если файл или каталог имеют расширенные атрибуты, поле разрешений, напечатанное параметром -l, сопровождается символом «@». В противном случае, если файл или каталог имеет расширенную информацию о безопасности (например, список управления доступом), поле разрешений, напечатанное параметром -l, следует за ним, за которым следует знак «+».

    Использование:

     ls -la@e 

    Для получения дополнительной информации о файлах или каталогах с этими атрибутами / информацией.

    Это связано с расширенными атрибутами и контролем доступа.

    Из справочной страницы солнца ls :

    Значением после разрешения является индикатор ACL или расширенных атрибутов. Этот символ является @, если расширенные атрибуты связаны с файлом, а параметр – @ действует. В противном случае этот символ является символом плюса (+), если нетривиальный ACL ассоциирован с файлом или пробелом, если нет.

    «@» Означает, что файл имеет «расширенные атрибуты», связанные с ним.

    Если вы делаете « ls -@ -l », вы можете видеть, какие атрибуты существуют для каждого файла. Вы также можете сделать что-то вроде « xattr -l pgsql.so », чтобы сбрасывать атрибуты для определенного файла.

    Как правило, это такие вещи, как Older School FinderInfo, информация о кодировке текста или информация о «карантине», которая дает вам «Этот файл был загружен из Интернета, вы уверены, что хотите его открыть?» предупреждение.

    На странице man ls :

    Длинный формат
    […] Если файл или каталог имеют расширенные атрибуты, поле разрешений, напечатанное параметром -l сопровождается символом « @ ». […]

    Давайте будем гением компьютера.