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_IRWXU
and(ユーザーの読み取り権限)の組み合わせと見なすことができます。書き込みと実行はもちろん、グループや他の人にも同じです。rwx
u
S_IRUSR
R
usr
セクションは関数名にちなんで命名S
できます。stat
しかし、I
その部分はどういう意味ですか?S_ISDIR
さまざまな(「is-directory」)マクロをモデルにしましたか?
VTX
この部分は何から来たのでしょうかS_ISVTX
?私はこの略語を「ねばねばしたビット」に関連付けることはできません。
答え1
歴史時間だよ、みんな! Stevens、「APUE」、4章、10節では、次のように引用します。
「S_ISVTXビットには興味深い履歴があります...設定されている場合...プログラムテキストのコピーがスワップ領域に保存されます。これにより、次回プログラムがより速くロードされます。メモリ... Unixの最新バージョンを呼び出す保存したテキストビットなので定数 S_ISVTX です。 」