.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
.\"
.TH UTIME 2 2008-08-06 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-utime, utimes \- ¥Õ¥¡¥¤¥ë¤ÎºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤È½¤Àµ»þ¹ï¤òÊѹ¹¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+utime, utimes \- ファイルの最終アクセス時刻と修正時刻を変更する
+.SH 書式
.nf
.B #include <sys/types.h>
.br
.sp
.BI "int utimes(const char *" filename ", const struct timeval " times [2]);
.fi
-.SH ÀâÌÀ
+.SH 説明
.BR utime ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
+システムコールは
.I filename
-¤Ç¼¨¤µ¤ì¤ë inode ¤Î¥¢¥¯¥»¥¹»þ¹ï¤È½¤Àµ»þ¹ï¤ò
+で示される inode のアクセス時刻と修正時刻を
.I times
-Ãæ¤Î
-.IR actime " ¤È " modtime
-¤Ë¤½¤ì¤¾¤ìÊѹ¹¤¹¤ë¡£
+中の
+.IR actime " と " modtime
+にそれぞれ変更する。
.I times
-¤¬
+が
.B NULL
-¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹»þ¹ï¤È½¤Àµ»þ¹ï¤Ï¸½ºß¤Î»þ¹ï¤ËÀßÄꤵ¤ì¤ë¡£
+の場合、ファイルのアクセス時刻と修正時刻は現在の時刻に設定される。
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÊѹ¹¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Î¾ì¹ç¤Ëµö²Ä¤µ¤ì¤ë¡£
-¥×¥í¥»¥¹¤ËŬÀÚ¤ÊÆø¢¤¬¤¢¤ë¾ì¹ç¡¢
-¼Â¸ú (effective) ¥æ¡¼¥¶ ID ¤¬¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶ ID ¤ÈÅù¤·¤¤¾ì¹ç¡¢
+タイムスタンプの変更は以下のいずれかの場合に許可される。
+プロセスに適切な特権がある場合、
+実効 (effective) ユーザ ID がファイルのユーザ ID と等しい場合、
.I times
-¤¬ NULL ¤«¤Ä¡¢¥×¥í¥»¥¹¤¬¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤¹þ¤ßµö²Ä¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡£
+が NULL かつ、プロセスがファイルへの書き込み許可を持っている場合。
-¹½Â¤ÂÎ
+構造体
.I utimbuf
-¤Ï°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+は以下に示すようになっている。
.in +4n
.nf
struct utimbuf {
- time_t actime; /* ¥¢¥¯¥»¥¹»þ¹ï */
- time_t modtime; /* ½¤Àµ»þ¹ï */
+ time_t actime; /* アクセス時刻 */
+ time_t modtime; /* 修正時刻 */
};
.fi
.in
.BR utime ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï 1 ÉäÎʬ²òǽ¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+システムコールは 1 秒の分解能でタイムスタンプを指定することができる。
.BR utimes ()
-¤Ï
+は
.BR utime ()
-¤ÈƱÍͤǤ¢¤ë¤¬¡¢
+と同様であるが、
.I times
-°ú¤¿ô¤¬¹½Â¤ÂΤǤϤʤ¯ÇÛÎó¤ò»²¾È¤¹¤ë¡£
-¤³¤ÎÇÛÎó¤ÎÍ×ÁǤÏ
+引き数が構造体ではなく配列を参照する。
+この配列の要素は
.I timeval
-¹½Â¤ÂΤǡ¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤Î»ØÄê¤ò 1 ¥Þ¥¤¥¯¥íÉäÎʬ²òǽ¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¡£
-¹½Â¤ÂÎ
+構造体で、タイムスタンプの指定を 1 マイクロ秒の分解能で行うことができる。
+構造体
.I timeval
-¤Ï°Ê²¼¤Ë¼¨¤¹Ä̤ê¤Ç¤¢¤ë¡£
+は以下に示す通りである。
.in +4n
.nf
struct timeval {
- long tv_sec; /* ÉÃ */
- long tv_usec; /* ¥Þ¥¤¥¯¥íÉà */
+ long tv_sec; /* 秒 */
+ long tv_usec; /* マイクロ秒 */
};
.fi
.in
.PP
.IR times [0]
-¤Ï¿·¤·¤¤¥¢¥¯¥»¥¹»þ¹ï¤ò¡¢
+は新しいアクセス時刻を、
.IR times [1]
-¤Ï¿·¤·¤¤½¤Àµ»þ¹ï¤òµ¬Äꤹ¤ë¡£
+は新しい修正時刻を規定する。
.I times
-¤¬ NULL ¤Î¾ì¹ç¡¢
+が NULL の場合、
.BR utime ()
-ƱÍÍ¡¢¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹»þ¹ï¤È½¤Àµ»þ¹ï¤Ï¸½ºß¤Î»þ¹ï¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç 0 ¤¬Ê֤롣¼ºÇÔ¤·¤¿¾ì¹ç \-1 ¤¬Ê֤ꡢ
+同様、ファイルのアクセス時刻と修正時刻は現在の時刻に設定される。
+.SH 返り値
+成功した場合 0 が返る。失敗した場合 \-1 が返り、
.I errno
-¤¬¥¨¥é¡¼¤ÎÆâÍƤ˽¾¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+がエラーの内容に従って設定される。
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EACCES
.I path
-¤ò¹½À®¤¹¤ë²¿¤ì¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸¡º÷µö²Ä¤¬¤Ê¤¤
+を構成する何れかのディレクトリに検索許可がない
.RB ( path_resolution (7)
-¤â»²¾È¤¹¤ë¤³¤È)¡£
+も参照すること)。
.TP
.B EACCES
.I times
-¤¬ NULL ¤Ç¤¢¤ë¡£
-¤Þ¤¿¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤¬¥Õ¥¡¥¤¥ë¤Î½êͼԤȰìÃפ·¤Ê¤¤¡£
-¤Þ¤¿¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤¬¤½¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤¹þ¤ßµö²Ä¤ò»ý¤¿¤º¡¢
-Æø¢¤â»ý¤Ã¤Æ¤¤¤Ê¤¤ (Linux ¤Î¾ì¹ç¡¢¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
+が NULL である。
+または、呼び出し元の実効ユーザ ID がファイルの所有者と一致しない。
+または、呼び出し元がそのファイルへの書き込み許可を持たず、
+ç\89¹æ¨©ã\82\82æ\8c\81ã\81£ã\81¦ã\81\84ã\81ªã\81\84 (Linux ã\81®å ´å\90\88ã\80\81ã\82±ã\83¼ã\83\91ã\83\93ã\83ªã\83\86ã\82£
.B CAP_DAC_OVERRIDE
-¤â
+も
.B CAP_FOWNER
-¤â»ý¤Ã¤Æ¤¤¤Ê¤¤)¡£¤Þ¤¿¤Ï¡¢
+も持っていない)。または、
.TP
.B ENOENT
.I filename
-¤¬Â¸ºß¤·¤Ê¤¤¡£
+が存在しない。
.TP
.B EPERM
.I times
-¤¬ NULL ¤Ç¤Ê¤¯¡¢¤«¤Ä¸Æ¤Ó½Ð¤·¸µ¤Î¼Â¸ú UID ¤¬¥Õ¥¡¥¤¥ë¤Î½êͼԤȰìÃפ»¤º¡¢
-¤«¤Ä¸Æ¤Ó½Ð¤·¸µ¤¬Æø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤
-(Linux ¤Î¾ì¹ç¡¢¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
+が NULL でなく、かつ呼び出し元の実効 UID がファイルの所有者と一致せず、
+かつ呼び出し元が特権を持っていない
+(Linux ã\81®å ´å\90\88ã\80\81ã\82±ã\83¼ã\83\91ã\83\93ã\83ªã\83\86ã\82£
.B CAP_FOWNER
-¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤)¡£
+を持っていない)。
.TP
.B EROFS
.I path
-¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
-.SH ½àµò
+が読み込み専用のファイルシステム上にある。
+.SH 準拠
.BR utime ():
SVr4, POSIX.1-2001.
-POSIX.1-2008 ¤Ï
+POSIX.1-2008 は
.BR utime ()
-¤òÇÑ»ßͽÄê¤È¤·¤Æ¤¤¤ë¡£
+を廃止予定としている。
.br
.BR utimes ():
4.3BSD, POSIX.1-2001.
-.SH Ãí°Õ
-Linux ¤Ç¤Ï¡¢ÉÔÊÑ (immutable) ¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÊѹ¹¤·¤¿¤ê¡¢
-ÄɲÃÀìÍÑ (append-only) ¤Î¥Õ¥¡¥¤¥ë¤Ë¸½ºß»þ¹ï°Ê³°¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò
-ÀßÄꤷ¤¿¤ê¤¹¤ë¤³¤È¤Ï¡¢µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+.SH 注意
+Linux では、不変 (immutable) ファイルのタイムスタンプを変更したり、
+追加専用 (append-only) のファイルに現在時刻以外のタイムスタンプを
+設定したりすることは、許可されていない。
-libc4 ¤È libc5 ¤Ç¤Ï¡¢
+libc4 と libc5 では、
.BR utimes ()
-¤Ïñ¤Ë
+は単に
.BR utime ()
-¤Î¥é¥Ã¥Ñ¡¼ (wrapper) ¤Ç¤¢¤ë¡£
-¤½¤Î¤¿¤áÉðʲ¼¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
+のラッパー (wrapper) である。
+そのため秒以下を指定することはできない。
+.SH 関連項目
.BR chattr (1),
.BR futimesat (2),
.BR stat (2),