stat(2) 및 chmod(2)의 패턴 마스크 이름은 무엇을 의미합니까?

stat(2) 및 chmod(2)의 패턴 마스크 이름은 무엇을 의미합니까?

stat 호출에는 모드 필드의 개별 비트에 대한 일련의 기호 이름이 있습니다. ~에서통계(2)매뉴얼 페이지:

The following mask values are defined for the file mode component of
the st_mode field:

    S_ISUID     04000   set-user-ID bit
    S_ISGID     02000   set-group-ID bit (see below)
    S_ISVTX     01000   sticky bit (see below)

    S_IRWXU     00700   owner has read, write, and execute permission
    S_IRUSR     00400   owner has read permission
    S_IWUSR     00200   owner has write permission
    S_IXUSR     00100   owner has execute permission

    S_IRWXG     00070   group has read, write, and execute permission
    S_IRGRP     00040   group has read permission
    S_IWGRP     00020   group has write permission
    S_IXGRP     00010   group has execute permission

    S_IRWXO     00007   others (not in group) have read,  write,  and
                        execute permission
    S_IROTH     00004   others have read permission
    S_IWOTH     00002   others have write permission
    S_IXOTH     00001   others have execute permission

and(사용자의 읽기, 쓰기, 실행 권한)의 조합이고 S_IRWXUand(사용자의 읽기 권한)의 조합이라고 볼 수 있습니다. 글쓰기와 실행은 물론 그룹이나 다른 사람들에게도 마찬가지입니다.rwxuS_IRUSRRusr

섹션은 함수 이름을 따서 명명 S될 수 있습니다 .stat

그런데 I그 부분이 무슨 뜻인가요? S_ISDIR다양한("is-directory") 매크로를 모델로 삼았 나요 ?

VTX이 부분은 무엇에서 나온 걸까요 S_ISVTX? 나는 이 약어를 "끈적끈적한 비트"와 연관시킬 수 없습니다.

답변1

역사 시간이야, 얘들아! Stevens, "APUE", 4장, 10절에서는 다음과 같이 인용합니다.

"S_ISVTX 비트에는 흥미로운 기록이 있습니다...설정된 경우...프로그램 텍스트의 복사본이 스왑 영역에 저장됩니다.이로 인해 다음 번에 프로그램이 더 빠르게 로드됩니다. 메모리... 최신 버전의 Unix 전화해저장된 텍스트비트이므로 상수 S_ISVTX입니다. "

관련 정보