Как узнать все установленные флаги на файл/папку в MacOS?

Мне известно, что устанавливать и снимать флаги на файлах в MacOS можно через команду chflags
Всё обгуглил и не могу найти ответ на вопрос, как узнать какие флаги установлены вообще. Приходится использовать скрипт, который снимает перебором все флаги, типа:
sudo chflags -R nohidden %Path%

Затем дополнительно очищаю все прочие системные атрибуты, типа карантина
xattr -cr %Path%

Такой грубый метод работает, но столкнулся с ситуацией, что не могу в приложении открыть путь до ffmpeg — /opt/homebrew/bin/ffmpeg
А тут мне боязно сносить все подряд атрибуты и флаги в связи с чем и возник вопрос.
Хочется узнать какие ограничения установлены, чтобы аккуратно снять только необходимые.
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
1. для всех файлов в папке: ls -l@ «Собака» – для расширенных атрибутов.
пример вывода

Под старой High Sierra 10.13.6. Хотя примерно так же и под Sonoma 14.2.1
$ ls -l@
drwx------@   5 username  staff   160 Sep 22 20:22 Applications
  com.apple.quarantine       21 
drwx------+  57 username  staff  1824 Jun 15 16:17 Desktop
drwx------+ 179 username  staff  5728 Jan 17 12:03 Documents
drwx------+ 266 username  staff  8512 Jan 15 18:25 Downloads
drwx------@ 125 username  staff  4000 Dec  1 19:16 Dropbox
  com.apple.FinderInfo       32 
  com.apple.quarantine       34 
drwx------@  74 username  staff  2368 Oct  2 17:40 Library
  com.apple.FinderInfo       32

2. Для конкретного одного файла: xattr filename
пример
$ xattr Dropbox/
com.apple.FinderInfo
com.apple.quarantine
Или подробнее, со значением атрибута в 16-ричном виде или текстовом: с ключом -l
$ xattr -l Dropbox/
com.apple.FinderInfo:
00000000  00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020
com.apple.quarantine: 0082;00000000;DropboxFolderTagger;
Подробнее: man xattr
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы