▷ Как получить права доступа к восьмеричным файлам из командной строки в Mac OS

Пользователи командной строки, вероятно, привыкли использовать chmod для установки разрешений для файлов в числовом или восьмеричном формате, например, выполнив команду типа «chmod 755 filename», но вы когда-нибудь задумывались, как получить их? Права доступа к файлам в восьмеричном формате?

Если вы хотите просмотреть или просмотреть восьмеричное числовое значение разрешений для любого файла или папки через командную строку, вы можете обратиться к команде stat в Mac OS, чтобы сделать это.

Мы предполагаем, что у вас есть достаточный опыт работы с командной строкой и свободное владение языком, если нет, то эта статья, вероятно, не для вас. Большинство пользователей Mac смогут просматривать или изменять права доступа к файлам только через Mac Finder, как описано в другом месте (если вообще), в то время как эта статья предназначена для более опытных пользователей.

Как получить числовые значения разрешений chmod на Mac

Для начала запустите приложение Терминал из / Applications / на Mac и используйте следующие команды:

stat -f% A file.txt

Например, эта команда может выдать что-то вроде следующего:

$ stat -f% A wget-1.18.tar.gz

644

Где в этом примере «644» — восьмеричное значение разрешений для этого файла.

Вы также можете использовать -f и% OLp (да, это заглавная буква «o», а не ноль), результат будет таким же, если файл тоже:

stat -f% OLp / Applications / System Preferences.app

Пример вывода для этой команды может выглядеть следующим образом, показывая права доступа к восьмеричным числовым значениям для целевого элемента:

$ stat -f «% OLp» ‘/ Applications / System preferences.app’

775

В этом примере приложение «Системные настройки» имеет восьмеричное значение разрешения 775.

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

stat -f «% OLp» ‘/ Applications / System preferences.app’

Флаг -f — это формат, вы можете узнать больше о конкретных параметрах форматирования для вывода статистики на странице руководства по статистике с помощью «man stat».

В последнем случае команды «O» (заглавная буква o) используется специально для получения восьмеричного вывода.

Знание точных числовых разрешений файла или папки чрезвычайно полезно по многим причинам, и может быть полезно знать, настраиваете ли вы разрешения для различных элементов, или даже если вы перемещаете файлы на Mac и хотите сохранить разрешения поправьте и проверьте их постфактум. Есть бесчисленное множество других применений, особенно если вы используете какой-либо сервер на Mac.

Эти команды должны работать одинаково для получения восьмеричных разрешений практически в любой версии macOS, MacOS или Mac OS X, независимо от того, как пишется соглашение об именах с заглавной буквы. Однако следует отметить, что подход к получению восьмеричных разрешений на Mac отличается от остального мира Linux, поэтому, если вы переходите на Mac из мира Linux, вам нужно будет настроить флаги статистики. чтобы получить их точно. разрешения в восьмеричном формате, мы быстро рассмотрим это далее.

Получите права доступа к файлам Octal из командной строки в Linux

Для полноты картины мы кратко обсудим получение восьмеричных значений разрешений в мире Linux, где вы можете использовать следующее для получения восьмеричных разрешений для файлов:

stat -c «% a% n» / Путь / К / файлу

Вы также можете проще использовать команду stat -c:

stat -c% a /Path/To/File.txt

Результат числового значения будет таким же, несмотря ни на что, если, конечно, входной целевой файл будет таким же.

Опять же, эти последние два подхода специфичны для Linux, и вам нужно будет использовать методы, описанные выше, чтобы получить восьмеричные значения прав доступа к файлу в Mac OS.

Знаете ли вы какие-либо другие методы или подходы для восстановления числового значения прав доступа к файлам на Mac? Делитесь ими в комментариях ниже!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *