Как получить права доступа к восьмеричным файлам из командной строки в Mac OS
Пользователи командной строки, вероятно, знакомы с использованием chmod для установки прав доступа к файлам в числовом или восьмеричном формате, например, при выполнении такой команды, как «chmod 755 filename», но задумывались ли вы, как получить права доступа к файлам в восьмеричном формате?
Если вы хотите просмотреть или просмотреть восьмеричное числовое значение разрешений для любого файла или папки через командную строку, вы можете обратиться к команде stat в Mac OS, чтобы сделать это.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Мы предполагаем, что у вас есть разумный уровень опыта и комфорт работы с командной строкой, в противном случае эта статья, вероятно, не имеет отношения к вам. Большинство пользователей 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 предназначен для форматирования, вы можете узнать больше о конкретных параметрах форматирования для вывода stat на странице руководства по stat с помощью ‘man stat’.
В последнем случае команды «O» (заглавная буква «o») предназначена специально для получения восьмеричного вывода.
Знание точных числовых разрешений для файла или папки чрезвычайно полезно по многим причинам, и это может быть полезно, если вы настраиваете разрешения для различных элементов или даже если вы перемещаете файлы на Mac и хотите для поддержания точных разрешений и проверки их постфактум. Есть также бесчисленное множество других применений, особенно если вы запускаете какой-либо сервер с Mac.
Эти команды должны работать одинаково для получения восьмеричных разрешений практически в любой версии macOS, MacOS или Mac OS X, независимо от того, как пишется соглашение об именах. Примечательно, однако, что подход к получению восьмеричных разрешений на Mac отличается от остального мира Linux, поэтому, если вы переходите на Mac из мира Linux, вам необходимо настроить флаги команды stat, чтобы точно получить разрешения в восьмеричном формате, мы быстро рассмотрим это далее.
Получение разрешений восьмеричного файла из командной строки в Linux
Для большей полноты мы кратко обсудим получение восьмеричных значений разрешений в мире Linux, где вы можете использовать следующее, чтобы получить восьмеричные разрешения для файлов:
stat -c "%a %n" /Path/To/File
Вы также можете более просто использовать команду stat -c:
stat -c %a /Path/To/File.txt
Выходные числовые значения будут одинаковыми, если, конечно, введенный целевой файл будет таким же.
Опять же, эти последние два подхода специфичны для Linux, и вам нужно будет использовать методы, описанные выше, чтобы получить восьмеричные значения разрешений для файла в Mac OS.
Знаете ли вы какие-либо другие методы или подходы к получению числового значения прав доступа к файлам на Mac? Делитесь ими в комментариях ниже!
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)