파일의 chmod 숫자 값을 얻습니다 chmod파일 의 수치를 어떻게 얻을

FreeBSD와 Linux에서도 chmod파일 의 수치를 어떻게 얻을 수 있습니까? 예를 들어 ? 644대신 -rw-r--r--Bash 스크립트에 대한 자동 방법이 필요합니다.



답변

BSD / OS X와 ​​같은 통계 출력 형식을 사용하여 직접 값을 얻을 수 있습니다.

stat -f "%OLp" <file>

또는 리눅스에서

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 commandLinux box하지, freebsd그것을 조사하기 때문에, HFS작업 아마 UFS.


답변

에 대한 추가 정보 stat:

$ stat -c %a file.txt

777

$ stat -c %A file.txt

-rwxrwxrwx


답변

이것을 모두 나열하려면 이것을 시도하십시오

stat --format "%a  %n" *


답변