it-swarm.com.de

Ruft den numerischen Wert von chmod für eine Datei ab

Wie kann ich unter FreeBSD und auch unter Linux den numerischen Wert chmod einer Datei ermitteln? Beispielsweise, 644 Anstatt von -rw-r--r--? Ich brauche einen automatischen Weg für ein Bash-Skript.

113
stefan.at.wpf

Sie können den Wert direkt mithilfe eines stat-Ausgabeformats abrufen, z. BSD/OS X:

stat -f "%OLp" <file>

oder unter Linux

stat --format '%a' <file>

und in der geschäftigen Box

 stat -c '%a' <file>
173
teppic

verwenden stat YOUR_FILE es sei denn, Sie schreiben ein Skript, das Folgendes berechnet:

rwx rwx rwx ==> ( r = 4 ) if set + ( w = 2) if set + (x = 1) if set , for example:
You have :
-rw-wxrw- => (4+2+0)(0+2+1)(4+2+) = 0636 
First argument before 9 permissions is one of :
- = regular file
d =  directory
b = block device
c = character device
s = socket
p = pipe
f = fifo

Ich benutze übrigens stat command auf Linux box, nicht freebsd, weil es untersucht, dass HFS wahrscheinlich mit UFS funktioniert.

7
PersianGulf

Einige zusätzliche Informationen zu stat :

$ stat -c %a file.txt

777  

$ stat -c %A file.txt

-rwxrwxrwx
4
Mateen Ulhaq

versuchen Sie dies, um alle aufzulisten

stat --format "%a  %n" *
2
Hatem Badawi