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

Оглавление:

Anonim

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

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

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

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

Чтобы начать, запустите приложение «Терминал» из /Applications/ на Mac и используйте следующие команды:

stat -f %A файл.txt

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

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

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

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

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

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

"

$ stat -f %OLp>"

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

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

"

stat -f %OLp>"

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

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

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

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

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

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

"

stat -c %a %n /Путь/к/файлу"

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

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

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

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

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

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