Hvordan få oktale filtillatelser fra kommandolinje i Mac OS
Innholdsfortegnelse:
Kommandolinjebrukere er sannsynligvis kjent med å bruke chmod for å angi filtillatelser i numerisk eller okt alt format, for eksempel å kjøre en kommando som "chmod 755 filnavn", men har du noen gang lurt på hvordan du kan få filtillatelser i okt alt format?
Hvis du vil se eller se den oktale numeriske verdien av tillatelser for en fil eller mappe via kommandolinjen, kan du gå til stat-kommandoen i Mac OS for å gjøre det.
Vi antar at du har et rimelig nivå av erfaring og komfort på kommandolinjen. Hvis du ikke gjør det, er denne artikkelen sannsynligvis ikke relevant for deg. De fleste Mac-brukere vil bare noen gang vise eller endre filtillatelser gjennom Mac Finder som beskrevet andre steder (hvis til og med det), mens denne artikkelen er rettet mot mer avanserte brukere.
Hvordan få numeriske chmod-tillatelsesverdier på Mac
For å komme i gang, start Terminal-appen fra /Applications/ på Macen og bruk følgende kommandoer:
stat -f %A file.txt
Den kommandoen kan for eksempel sende ut noe sånt som følgende:
$ stat -f %A wget-1.18.tar.gz 644
Hvor, i dette eksemplet, er ‘644’ den oktale verdien av filens tillatelser.
Alternativt kan du bruke -f og %OLp (ja det er en stor bokstav 'o' og ikke en null), utdata vil være det samme forutsatt at filen er også:
stat -f %OLp /Applications/System\ Preferences.app
Eksempelutdata for den kommandoen kan se slik ut, som viser tillatelsene for numeriske oktale verdier for målelementet:
"$ stat -f %OLp>"
I dette eksemplet har "System Preferences"-applikasjonen en oktal tillatelsesverdi på 775.
Du bør ikke trenge å bruke sitater, men hvis du av en eller annen grunn trenger å unnslippe et filnavn eller en bane, eller for skriptformål, er de enkle å plassere slik:
"stat -f %OLp>"
Flagget -f er for format, du kan om spesifikke formaterings alternativer for statutdata fra manualsiden på stat med ‘man stat’.
I sistnevnte kommandotilfelle er "O" (stor bokstav o) spesielt for å oppnå oktal utgang.
Å vite de nøyaktige numeriske tillatelsene til en fil eller mappe er veldig nyttig av så mange grunner, og det kan være nyttig å vite dette hvis du justerer tillatelsene til forskjellige elementer, eller til og med hvis du flytte filer på Mac-en og ønsker å opprettholde de nøyaktige tillatelsene og bekrefte det i etterkant. Det er utallige andre bruksområder også, spesielt hvis du kjører en server av noe slag fra Mac.
Disse kommandoene skal fungere på samme måte for å hente oktale tillatelser i omtrent alle versjoner av macOS, MacOS eller Mac OS X, uavhengig av hvordan navnekonvensjonen brukes med store bokstaver. Spesielt er imidlertid at tilnærmingen til å få oktale tillatelser på Mac-en er forskjellig fra resten av Linux-verdenen, så hvis du kommer til Mac-en fra Linux-verdenen, må du justere stat-kommandoflaggene for nøyaktig å få tillatelsene i okt alt format, vi skal dekke det raskt neste gang.
Få oktale filtillatelser fra kommandolinje i Linux
For å være grundig vil vi kort diskutere å få oktale tillatelsesverdier også i Linux-verdenen, hvor du kan bruke følgende for å få oktale filtillatelser:
"stat -c %a %n /Path/To/File"
Du kan også enklere bruke stat -c-kommandoen:
stat -c %a /Path/To/File.txt
Den numeriske verdien vil være den samme uansett, så lenge den angitte målfilen er den samme selvfølgelig.
Igjen, disse to sistnevnte tilnærmingene er linux-spesifikke, og du må bruke metodene som er skissert videre ovenfor for å få oktale verdier for tillatelser til en fil i Mac OS.
Kjenner du til andre metoder eller tilnærminger for å hente den numeriske verdien av filtillatelser på en Mac? Del dem i kommentarfeltet nedenfor!