FreeBSD와 Linux에서도 chmod
파일 의 수치를 어떻게 얻을 수 있습니까? 예를 들어 ? 644
대신 -rw-r--r--
Bash 스크립트에 대한 자동 방법이 필요합니다.
FreeBSD와 Linux에서도 chmod
파일 의 수치를 어떻게 얻을 수 있습니까? 예를 들어 ? 644
대신 -rw-r--r--
Bash 스크립트에 대한 자동 방법이 필요합니다.
답변:
BSD / OS X와 같은 통계 출력 형식을 사용하여 직접 값을 얻을 수 있습니다.
stat -f "%OLp" <file>
또는 리눅스에서
stat --format '%a' <file>
그리고 busybox에서
stat -c '%a' <file>
busybox
사용stat -c '%a' <file>
--format
축약 될 수 있습니다 -c
. 이것은 작동합니다.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
.
FreeBSD box
, 사용 stat -x YOUR_FILE
아래FreeBSD box
stat -r YOUR_FILE |awk '{print $3}'
당신의 허락을줍니다.
666
또는 코드 -rw-wxrw-
뿐만 아니라 각 권한에 대한 설명이 포함 된 텍스트
awk
수치 결과를 검색 하는 것이 좋습니다 .
에 대한 추가 정보 stat
:
$ stat -c %a file.txt
777
$ stat -c %A file.txt
-rwxrwxrwx
stat -f %A file.txt
맥에서 644 또는 다른 3 개의 디지털 숫자를 반환합니다.