Come ottenere i permessi dei file ottali dalla riga di comando in Mac OS

Sommario:

Anonim

Gli utenti della riga di comando probabilmente hanno familiarità con l'utilizzo di chmod per impostare i permessi dei file in formato numerico o ottale, ad esempio eseguendo un comando come 'chmod 755 filename', ma ti sei mai chiesto come puoi ottenere i permessi dei file in formato ottale?

Se vuoi vedere o visualizzare il valore numerico ottale dei permessi di qualsiasi file o cartella tramite la riga di comando, puoi utilizzare il comando stat in Mac OS per farlo.

Supponiamo che tu abbia un ragionevole livello di esperienza e dimestichezza con la linea di comando, altrimenti questo articolo probabilmente non è rilevante per te. La maggior parte degli utenti Mac visualizzerà o modificherà i permessi dei file solo attraverso il Mac Finder come descritto altrove (se anche quello), mentre questo particolare articolo è rivolto agli utenti più avanzati.

Come ottenere i valori numerici delle autorizzazioni chmod su Mac

Per iniziare, avvia l'app Terminale da /Applicazioni/ sul Mac e usa i seguenti comandi:

stat -f %A file.txt

Ad esempio, quel comando potrebbe generare qualcosa di simile al seguente:

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

Dove, in questo esempio, '644' è il valore ottale dei permessi di quel file.

In alternativa, puoi usare -f e %OLp (sì, è una 'o' maiuscola e non uno zero), l'output sarà lo stesso supponendo che anche il file sia:

stat -f %OLp /Applicazioni/Sistema\ Preferences.app

L'output di esempio per quel comando potrebbe essere simile al seguente, che mostra i permessi del valore ottale numerico per l'elemento di destinazione:

"

$ stat -f %OLp>"

In questo esempio, l'applicazione "Preferenze di sistema" ha un valore di autorizzazioni ottale di 775.

Non dovresti aver bisogno di usare le virgolette, anche se per qualche motivo hai bisogno di usare l'escape di un nome file o di un percorso, o per scopi di scripting, sono facili da inserire in questo modo:

"

stat -f %OLp>"

Il flag -f è per il formato, puoi specificare opzioni di formattazione specifiche per l'output di stat dalla pagina di manuale su stat con 'man stat'.

In quest'ultimo caso di comando, la "O" (o maiuscola) è specifica per ottenere un output ottale.

Conoscere i permessi numerici esatti di un file o di una cartella è estremamente utile per tanti motivi, e può essere utile saperlo se stai regolando i permessi di vari elementi, o anche se Stai spostando i file sul Mac e vuoi mantenere le autorizzazioni esatte e verificarle dopo il fatto. Ci sono anche innumerevoli altri usi, in particolare se stai eseguendo un server di qualsiasi tipo dal Mac.

Questi comandi dovrebbero funzionare allo stesso modo per il recupero dei permessi ottali in quasi tutte le versioni di macOS, MacOS o Mac OS X, indipendentemente da come è maiuscola la convenzione di denominazione. In particolare, tuttavia, è che l'approccio per ottenere i permessi ottali sul Mac è diverso dal resto del mondo Linux, quindi se arrivi al Mac dal mondo Linux dovrai regolare i flag del comando stat per ottenere con precisione le autorizzazioni in formato ottale, ne parleremo rapidamente in seguito.

Ottenere le autorizzazioni per i file ottali dalla riga di comando in Linux

Per essere esaustivi, parleremo brevemente dell'ottenimento dei valori dei permessi ottali anche nel mondo Linux, dove puoi utilizzare quanto segue per ottenere i permessi dei file ottali:

"

stat -c %a %n /Percorso/A/File"

Puoi anche usare più semplicemente il comando stat -c:

stat -c %a /Percorso/A/File.txt

L'output del valore numerico sarà lo stesso a prescindere, purché il file di destinazione immesso sia lo stesso, ovviamente.

Ancora una volta, questi ultimi due approcci sono specifici di Linux e dovrai utilizzare i metodi descritti più sopra per ottenere i valori ottali dei permessi di un file in Mac OS.

Conosci altri metodi o approcci per recuperare il valore numerico dei permessi dei file su un Mac? Condividili nei commenti qui sotto!

Come ottenere i permessi dei file ottali dalla riga di comando in Mac OS