3

Я сбросил кучу файлов (музыку и прочее) на свой новый Macbook, и, поскольку я чувствую себя более комфортно с linux, чем с Mac (на данный момент), я склонен использовать терминал.

Я сделал ls -al для файлов, которые я передал, и у некоторых был символ «@» в конце строки прав доступа, а у некоторых - нет.

Что-то вроде:

drwxrwxr--@ 93 user staff etc.
drwxrwxr-- 107 user staff etc.

Те, без "@", можно было увидеть в Finder и получить доступ к другим программам - файлы и каталоги "@" были невидимы. Может кто-нибудь объяснить, что означает «@», и как выполнить chmod (или что-то еще), чтобы я мог использовать эти файлы? Я предполагаю, что это какой-то системный флаг, но я не знаю, как его сбросить. Chmod 777 не имел никакого эффекта, и я уже владею файлами.

Спасибо

2 ответа2

6

Эта ссылка объясняет, как символ «@» используется для обозначения того, что файл имеет «дополнительные атрибуты», которые можно увидеть, набрав:

xattr -l <имя файла>

Дополнительные атрибуты используются для хранения дополнительной информации о файле. Например, когда файл загружается из Интернета, он может содержать дополнительный атрибут, который запускает сообщение «предупреждение о том, что файл был загружен ...» при выполнении.

4

Как сказал JT.WK, '@' указывает расширенные атрибуты, прикрепленные к файлу. Попробуйте использовать ls -lO@ для файлов - -O показывает флаги файлов, а -@ показывает имена (но не содержимое) расширенных атрибутов. Я предполагаю, что вы увидите com.apple.FinderInfo xattrs и hidden флаг (примечание: я предполагаю, что Mac OS X 10.5 или 10.6 здесь - более старые версии не отображали флаг invisible Finder в флаг файла). Предполагая, что я прав в этом, вы можете снять флаг с:

chflags nohidden /path/to/file

(Если вы используете Mac OS X v10.4, флаги Finder были не так доступны из командной строки - дайте мне знать, и я посмотрю, что я могу придумать.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .