Как да получите осмични разрешения за файлове от командния ред в Mac OS
Съдържание:
Потребителите на командния ред вероятно са запознати с използването на chmod за задаване на разрешения за файлове в числов или осмичен формат, например изпълнение на команда като „chmod 755 име на файл“, но чудили ли сте се как можете да получите разрешения за файлове в осмичен формат?
Ако искате да видите или прегледате осмичната числова стойност на разрешенията за всеки файл или папка чрез командния ред, можете да се обърнете към командата stat в Mac OS, за да го направите.
Предполагаме, че имате разумно ниво на опит и комфорт в командния ред, ако нямате, тогава тази статия вероятно не е подходяща за вас. Повечето потребители на Mac ще преглеждат или променят разрешенията за файлове само през Mac Finder, както е описано другаде (ако дори и това), докато тази конкретна статия е насочена към по-напреднали потребители.
Как да получите числени стойности на разрешения за chmod на Mac
За да започнете, стартирайте приложението Terminal от /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>"
В този пример приложението „Системни предпочитания“ има осмична стойност на разрешения 775.
Не трябва да използвате кавички, но ако по някаква причина трябва да избегнете име на файл или път, или за целите на скриптове, те са лесни за поставяне по следния начин:
"stat -f %OLp>"
Флагът -f е за формат, можете да се запознаете със специфични опции за форматиране за изхода на статистиката от страницата с ръководството на 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? Споделете ги в коментарите по-долу!