"Zeiten" einer Datei
Submitted by Christian Schneider on Mon, 2007-09-24 02:23
Jungs.. read my lips: Unter ext2 gibt es keine Creation Time! Auch wenn ext2_inode sowas aussagt:
atimeist die Zeit des letzten Zugriffs; mtime die Zeit der letzten Aenderung des Dateiinhalts) und ctime die Zeit der letzten i-node - Aenderung, wobei nicht jede "Dateizugriffsfunktion" sich auf alle Zeiten auswirkt:
chmod, chown, fchmod, fchown, lchown wirkt sich lediglich auf die ctime der Datei aus.
mkdir, mkfifo wirkt sich auf die atime, mtime und ctime der Datei und die mtime und ctime des Parent-Directory aus.
open, creat (neue Datei mit O_CREAT) wirkt sich auf die atime, mtime und ctime der Datei und die mtime und ctime des Parent-Directory aus.
open, creat (existierende Datei mit O_TRUNC) wirkt sich mtime und ctime der Datei aus.
pipe wirkt sich auf die atime, mtime und ctime der Datei aus.
read wirkt sich lediglich auf die ctime der Datei aus.
remove (regulaere Datei), unlink, rename, link wirkt sich auf die ctime der Datei und die mtime und ctime des Parent Directory aus.
remove (Directory), rmdir wirkt sich auf mtime und ctime des Parent Directory aus.
truncate, ftruncate wirkt sich auf mtime und ctime der Datei aus.
utime wirkt sich auf die atime, mtime und ctime der Datei aus und
write wirkt sich auf die mtime und ctime der Datei aus.
Das das Parent Directory geaendert wird, liegt daran, dass unter Unix auch Verzeichnisse Dateien sind. Ist eine Tatsache. Verzeichnisse sind Dateien, die einen speziellen Inhalt haben: Naemlich Dateinamen mit zugehoeriger i-node - Nummer.
/ * /usr/include/linux/ext2_fs.h */
182 struct ext2_inode {
183 __le16 i_mode; /* File mode */
184 __le16 i_uid; /* Low 16 bits of Owner Uid */
185 __le32 i_size; /* Size in bytes */
186 __le32 i_atime; /* Access time */
187 __le32 i_ctime; /* Creation time */
188 __le32 i_mtime; /* Modification time */
189 __le32 i_dtime; /* Deletion Time */
190 __le16 i_gid; /* Low 16 bits of Group Id */
191 __le16 i_links_count; /* Links count */
192 __le32 i_blocks; /* Blocks count */
193 __le32 i_flags; /* File flags */
atimeist die Zeit des letzten Zugriffs; mtime die Zeit der letzten Aenderung des Dateiinhalts) und ctime die Zeit der letzten i-node - Aenderung, wobei nicht jede "Dateizugriffsfunktion" sich auf alle Zeiten auswirkt:
chmod, chown, fchmod, fchown, lchown wirkt sich lediglich auf die ctime der Datei aus.
mkdir, mkfifo wirkt sich auf die atime, mtime und ctime der Datei und die mtime und ctime des Parent-Directory aus.
open, creat (neue Datei mit O_CREAT) wirkt sich auf die atime, mtime und ctime der Datei und die mtime und ctime des Parent-Directory aus.
open, creat (existierende Datei mit O_TRUNC) wirkt sich mtime und ctime der Datei aus.
pipe wirkt sich auf die atime, mtime und ctime der Datei aus.
read wirkt sich lediglich auf die ctime der Datei aus.
remove (regulaere Datei), unlink, rename, link wirkt sich auf die ctime der Datei und die mtime und ctime des Parent Directory aus.
remove (Directory), rmdir wirkt sich auf mtime und ctime des Parent Directory aus.
truncate, ftruncate wirkt sich auf mtime und ctime der Datei aus.
utime wirkt sich auf die atime, mtime und ctime der Datei aus und
write wirkt sich auf die mtime und ctime der Datei aus.
Das das Parent Directory geaendert wird, liegt daran, dass unter Unix auch Verzeichnisse Dateien sind. Ist eine Tatsache. Verzeichnisse sind Dateien, die einen speziellen Inhalt haben: Naemlich Dateinamen mit zugehoeriger i-node - Nummer.













Last ten comments: