FreeBSDおよびLinuxでは、ファイルのchmod
数値を取得するにはどうすればよいですか?例えば、 644
の代わりに -rw-r--r--
? Bashスクリプトの自動方法が必要です。
Stat出力形式を使用して直接値を取得できます。 BSD/OS X:
stat -f "%OLp" <file>
またはLinux
stat --format '%a' <file>
そしてbusyboxで
stat -c '%a' <file>
使用する stat YOUR_FILE
計算するスクリプトを書かない限り:
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
ちなみに、私はstat command
オン Linux box
ではなくfreebsd
を調査するため、HFS
ではなくUFS
を使用します。
stat
に関する追加情報:
$ stat -c %a file.txt
777
$ stat -c %A file.txt
-rwxrwxrwx
すべて試してみる
stat --format "%a %n" *