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 です。 」

おすすめ記事