Команда ls: что означает @ в файловом режиме и как от него избавиться? [Дубликат]

26

После того, как я загружаю файлы в OSX и затем хочу их использовать, к ним часто добавляется @, когда я делаю a ls -l. Вот пример выходных данных, смотрите @в начале строки:

ls -l *.php
-rw-r--r--@ 1 username  staff  11179 Dec 17  2010 class.mysql.php
-rw-r--r--@ 1 username  staff     24 Nov  1  2010 info.php
-rw-r--r--@ 1 username  staff     61 Dec 23  2010 page.php
-rw-r--r--@ 1 username  staff   1157 Dec 17  2010 photo.php

Я думаю, что это своего рода запирающий меганизм, верно? И как мне от этого избавиться?

Бьерн
источник

Ответы:

38

Из ls руководства ( man ls) раздела Длинный формат

If the file or directory has extended attributes, the permissions field printed by the -l option is followed by a '@' character.

Затем вы можете отобразить расширенные атрибуты с помощью -@

-@ Display extended attribute keys and sizes in long (-l) output.

Для управления расширенными атрибутами вы можете использовать xattrкоманду. См., Например, Как удалить расширенные атрибуты в Mac OS X или Работа с расширенными атрибутами в OS X

Matteo
источник
Спасибо, очень полный ответ! Я как раз собирался спросить, как удалить какие-либо атрибуты, но я вижу, что вы только что обновили свой пост :)
Björn
Я только позже понял, что в вопросе была вторая часть :-)
Маттео