.ad
.SH 説明
.PP
-これらの関数は、ファイルについての情報を \fIstat\fP が指すバッファに格納して返す。 ファイルそのものに対するアクセス許可は必要としないが、
+ã\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¤ã\81\84ã\81¦ã\81®æ\83\85å ±ã\82\92 \fIstat\fP ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8dã\81\97ã\81¦è¿\94ã\81\99ã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\81\9dã\81®ã\82\82ã\81®ã\81«å¯¾ã\81\99ã\82\8bã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\81¯å¿\85è¦\81ã\81¨ã\81\97ã\81ªã\81\84ã\81\8cã\80\81
\(em\fBstat\fP(), \fBfstatat\fP(), \fBlstat\fP() の場合には \(emそのファイルへ至る \fIpathname\fP
を構成する全てのディレクトリに対する実行 (検索) 許可が必要である。
.PP
\fBlstat\fP() は \fBstat\fP() と同じであるが、 \fIpathnames\fP
がシンボリックリンクの場合、リンクが参照しているファイルではなく、 リンク自身の状態を返す点が異なる。
-\fBfstat\fP() は \fBstat\fP() と同じだが、 状態を取得するファイルをファイルディスクリプタ \fIfd\fP で指定する点が異なる。
+\fBfstat\fP() は \fBstat\fP() と同じだが、 状態を取得するファイルをファイルディスクリプター \fIfd\fP で指定する点が異なる。
.PP
これらのシステムコールはいずれも、結果を \fIstat\fP 構造体に入れて返す。 \fIstat\fP 構造体には以下のフィールドが含まれている:
.PP
ino_t st_ino; /* inode 番号 */
mode_t st_mode; /* アクセス保護 */
nlink_t st_nlink; /* ハードリンクの数 */
- uid_t st_uid; /* 所有者のユーザ ID */
+ uid_t st_uid; /* 所有者のユーザー ID */
gid_t st_gid; /* 所有者のグループ ID */
dev_t st_rdev; /* デバイス ID (特殊ファイルの場合) */
off_t st_size; /* 全体のサイズ (バイト単位) */
.fi
.in
-\fI注意:\fP \fIstat\fP 構造体のフィールドの順序はアーキテクチャにより様々である。
-また、上記の定義では、フィールド間に存在することがあるパディングバイトは書かれていない。このパディングバイトはアーキテクチャによっても異なる。詳細を知る必要がある場合は
+\fI注æ\84\8f:\fP \fIstat\fP æ§\8bé\80 ä½\93ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81®é \86åº\8fã\81¯ã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81«ã\82\88ã\82\8aæ§\98ã\80\85ã\81§ã\81\82ã\82\8bã\80\82
+ã\81¾ã\81\9fã\80\81ä¸\8aè¨\98ã\81®å®\9a義ã\81§ã\81¯ã\80\81ã\83\95ã\82£ã\83¼ã\83«ã\83\89é\96\93ã\81«å\98å\9c¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\83\91ã\83\87ã\82£ã\83³ã\82°ã\83\90ã\82¤ã\83\88ã\81¯æ\9b¸ã\81\8bã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82ã\81\93ã\81®ã\83\91ã\83\87ã\82£ã\83³ã\82°ã\83\90ã\82¤ã\83\88ã\81¯ã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81«ã\82\88ã\81£ã\81¦ã\82\82ç\95°ã\81ªã\82\8bã\80\82詳細ã\82\92ç\9f¥ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\81¯
glibc とカーネルのソースを調べてほしい。
\fIst_dev\fP フィールドは、このファイルが存在するデバイスを示す (マクロ \fBmajor\fP(3), \fBminor\fP(3)
\fIst_mtime\fP フィールドは、ファイルが修正された場合に変更される (例えば、 \fBmknod\fP(2), \fBtruncate\fP(2),
\fButime\fP(2) を使用した場合や \fBwrite\fP(2) で 1 バイト以上書き込みをした場合など)。 さらに、ディレクトリの
\fIst_mtime\fP は、そのディレクトリで ファイルが作成されたり削除されたりすると変更される。 \fIst_mtime\fP フィールドは
-æ\89\80æ\9c\89è\80\85ã\82\84ã\82°ã\83«ã\83¼ã\83\97ã\82\84ã\83\8fã\83¼ã\83\89ã\83»ã\83ªã\83³ã\82¯æ\95°ã\82\84ã\83¢ã\83¼ã\83\89ã\81®å¤\89æ\9b´ã\81§ã\81¯å¤\89æ\9b´ \fIã\81\95ã\82\8cã\81ªã\81\84ã\80\82\fP
+所有者やグループやハードリンク数やモードの変更では変更 \fIされない。\fP
\fIst_ctime\fP フィールドは書き込みや inode 情報 (所有者、グループ、リンク数、モードなど) の 設定によって変更される。
.PP
S_IFSOCK 0140000 ソケット
S_IFLNK 0120000 シンボリックリンク
S_IFREG 0100000 通常のファイル
-S_IFBLK 0060000 ã\83\96ã\83ã\83\83ã\82¯ã\83»ã\83\87ã\83\90ã\82¤ã\82¹
+S_IFBLK 0060000 ブロックデバイス
S_IFDIR 0040000 ディレクトリ
-S_IFCHR 0020000 ã\82ã\83£ã\83©ã\82¯ã\82¿ã\83¼ã\83»ã\83\87ã\83\90ã\82¤ã\82¹
+S_IFCHR 0020000 キャラクターデバイス
S_IFIFO 0010000 FIFO
.TE
.in
ディレクトリか?
.TP
\fBS_ISCHR\fP(m)
-ã\82ã\83£ã\83©ã\82¯ã\82¿ã\83¼ã\83»ã\83\87ã\83\90ã\82¤ã\82¹ã\81\8b?
+キャラクターデバイスか?
.TP
\fBS_ISBLK\fP(m)
-ã\83\96ã\83ã\83\83ã\82¯ã\83»ã\83\87ã\83\90ã\82¤ã\82¹ã\81\8b?
+ブロックデバイスか?
.TP
\fBS_ISFIFO\fP(m)
FIFO (名前付きパイプ) か?
lB l l.
S_ISUID 0004000 set\-user\-ID bit
S_ISGID 0002000 set\-group\-ID bit (下記参照)
-S_ISVTX 0001000 ã\82¹ã\83\86ã\82£ã\83\83ã\82ã\83¼ã\83»ã\83\93ã\83\83ã\83\88 (ä¸\8bè¨\98å\8f\82ç\85§)
+S_ISVTX 0001000 スティッキービット (下記参照)
S_IRWXU 00700 ファイル所有者のアクセス許可用のビットマスク
S_IRUSR 00400 所有者の読み込み許可
.SS fstatat()
\fBfstatat\fP() システムコールは \fBstat\fP() と全く同様に動作するが、以下で説明する点が異なる。
-指定された \fIpathname\fP が相対パスの場合、 ファイルディスクリプタ \fIdirfd\fP が参照するディレクトリに対する相対パスと解釈される
+指定された \fIpathname\fP が相対パスの場合、 ファイルディスクリプター \fIdirfd\fP が参照するディレクトリに対する相対パスと解釈される
(\fBstat\fP() に相対パスを渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。
\fIpathname\fP が相対パスで、 \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 (\fBstat\fP(2) と同様に)
\fIpathname\fP の構成要素が存在しないか、 \fIpathname\fP が空文字列である。
.TP
\fBENOMEM\fP
-カーネルのメモリが足りない。
+ã\82«ã\83¼ã\83\8dã\83«ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\81\8c足ã\82\8aã\81ªã\81\84ã\80\82
.TP
\fBENOTDIR\fP
\fIpathname\fP の前半部分 (prefix) の構成要素がディレクトリではない。
\fBfstatat\fP() では以下のエラーも発生することがある。
.TP
\fBEBADF\fP
-\fIdirfd\fP が有効なファイルディスクリプタでない。
+\fIdirfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81ªã\81\84ã\80\82
.TP
\fBEINVAL\fP
\fIflags\fP に無効なフラグが指定された。
.TP
\fBENOTDIR\fP
-\fIpathname\fP が相対パスで、 \fIdirfd\fP がディレクトリ以外のファイルを参照しているファイルディスクリプタである。
+\fIpathname\fP ã\81\8cç\9b¸å¯¾ã\83\91ã\82¹ã\81§ã\80\81 \fIdirfd\fP ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82
.SH バージョン
\fBfstatat\fP() はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
に追加された。
(これらのフィールドは BSD によって導入された。 システムごとに解釈が
異なっており、 NFS マウントの場合には同じシステムでも異なる可能性がある)。
\fI<sys/stat.h>\fP から \fIblkcnt_t\fP の \fIblksize_t\fP 型定義を
-読み込みたい場合は、(\fIどの\fPヘッダファイルをインクルードするよりも前に)
+èªã\81¿è¾¼ã\81¿ã\81\9fã\81\84å ´å\90\88ã\81¯ã\80\81(\fIã\81©ã\81®\fPã\83\98ã\83\83ã\83\80ã\83¼ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\99ã\82\8bã\82\88ã\82\8aã\82\82å\89\8dã\81«)
\fB_XOPEN_SOURCE\fP を 500 以上の値で定義すること。
.LP
POSIX.1\-1990 には \fBS_IFMT\fP, \fBS_IFSOCK\fP, \fBS_IFLNK\fP, \fBS_IFREG\fP,
SVID\-v2 と XPG2 では 0 と 0100000 の両方が通常のファイル
T}
1000 S_IFIFO p| 010000 FIFO (名前付きパイプ)
-2000 S_IFCHR c 020000 キャラクタ特殊ファイル (V7)
-3000 S_IFMPC 030000 多重化されたキャラクタ特殊ファイル (V7)
+2000 S_IFCHR c 020000 キャラクター特殊ファイル (V7)
+3000 S_IFMPC 030000 多重化されたキャラクター特殊ファイル (V7)
4000 S_IFDIR d/ 040000 ディレクトリ (V7)
5000 S_IFNAM 050000 T{
XENIX の二つの副型を持つ名前付きの特殊ファイル
9000 S_IFNWK n 110000 ネットワーク特殊ファイル (HP\-UX)
a000 S_IFLNK l@ 120000 シンボリックリンク (BSD)
b000 S_IFSHAD 130000 T{
-Solaris の ACL 用の隠し inode (ユーザ空間からは見えない)
+Solaris の ACL 用の隠し inode (ユーザー空間からは見えない)
T}
c000 S_IFSOCK s= 140000 ソケット (BSD; VxFS の "S_IFSOC")
d000 S_IFDOOR D> 150000 Solaris の door ファイル
ナノ秒のタイムスタンプは XFS, JFS, Btrfs, ext4 でサポートされている (Linux 2.6.23 以降)。
ナノ秒のタイムスタンプは ext2, ext3, Reiserfs ではサポートされていない。
サブ秒のタイムスタンプをサポートしていないファイルシステムでは、 ナノ秒のフィールドには値 0 が入る。
-.SS è\83\8cå¾\8cã\81®ã\82«ã\83¼ã\83\8dã\83«ã\83»ã\82¤ã\83³ã\82¿フェース
+.SS è\83\8cå¾\8cã\81®ã\82«ã\83¼ã\83\8dã\83«ã\82¤ã\83³ã\82¿ã\83¼フェース
.\"
.\" A note from Andries Brouwer, July 2007
.\"
\fBls\fP(1), \fBstat\fP(1), \fBaccess\fP(2), \fBchmod\fP(2), \fBchown\fP(2),
\fBreadlink\fP(2), \fButime\fP(2), \fBcapabilities\fP(7), \fBsymlink\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。