▷ Как получить права доступа к восьмеричным файлам из командной строки в 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? Делитесь ими в комментариях ниже!