ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
ファイルなどの情報における、作成や更新が行なわれた日時を示す情報。
オペレーティングシステム(OS)やファイルシステムなどによっても異なるが、多くの場合、ファイルの内容を管理する情報(ファイル名やファイルサイズなど)がファイルシステムに登録され、ファイルの内容が変更された場合は自動的に更新される。
このタイムスタンプを利用することで、新しいファイルを古いファイルで上書きするときに注意を促したり、ファイル内容の情報の新旧を判断したりできる。
Win32では、GetFileTime()関数を使う方法などで、タイムスタンプを取得できる。
CreateFile()関数で作成または既存ファイルを開き、得られたハンドル(HANDLE型)を引数に与えると、FILETIME型で、作成日時、最終アクセス日時、最終更新日時の3情報が得られる。
UNIXおよびUNIX互換OSには様々あるが、基本は次の3情報である。
atimeは、アクセスされた最終日時が記録される。アクセス権を持ってファイルをread(2)した場合にのみ更新され、ファイルをオープンしただけの場合や、write(2)では変更されない。
mtimeは、ファイルが最後に更新された日時が記録される。write(2)した場合や、あるいはtruncate(2)などをした場合に、変更される。
ctimeも、ファイルが最後に更新された日時が記録される。mtimeの変更条件のほか、inodeの変更が伴う場合に変更される。ctimeは、inodeが変更されなくてもmtimeが変われば変更される。
UNIXおよびUNIX互換OSでも、システムコールstat(2)でその情報を得ることができる。
int stat(const char *path, struct stat *buf);
int fstat(int fd, struct stat *buf);
int lstat(const char *path, struct stat *buf);
stat()とfstat()はSVR4、SVID、POSIX、X/Open、4.3BSDに準拠し、lstat()は4.3BSDとSVR4に準拠する。結果はstruct stat構造体として得られる。lstat()は stat()と同様だが、パスがシンボリックリンクの場合、リンクが参照しているファイルではなくリンク自身の状態を取得する点が異なる。
ファイルの情報を得るのに、ファイルそのものに対するアクセス権は必要ないが、stat()とlstat()は、そのファイルに至るまでの全てのディレクトリについて実行(検索)の権限が必要である。またfstat()はfdを得るために事前にopenする必要があるため、結果として所定の権限が必要となる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます