времена access/modify/change файла
От: Amouse Россия  
Дата: 03.03.07 09:13
Оценка:
подскажите, где описаны правила, как устанавливаются сабжи?

Скажем, имхо странно, что запись в каталог меняет и change time каталога.
Change time, по описанию, это изменения служебных данных файла, но ведь при записи
в каталог таких изменений нет?
Re: времена access/modify/change файла
От: Vladimir D Belousov Россия  
Дата: 03.03.07 10:42
Оценка:
Здравствуйте, Amouse, Вы писали:

A>подскажите, где описаны правила, как устанавливаются сабжи?


A>Скажем, имхо странно, что запись в каталог меняет и change time каталога.

A>Change time, по описанию, это изменения служебных данных файла, но ведь при записи
A>в каталог таких изменений нет?

Вы имеете ввиду atime, mtime и ctime структуры stat ?
И запись в каталог — Вы подразумеваете создание файла, или просто запись в существующий файл?
--
Спасибо
Re[2]: времена access/modify/change файла
От: Amouse Россия  
Дата: 03.03.07 12:04
Оценка:
Здравствуйте, Vladimir D Belousov, Вы писали:

VDB>Вы имеете ввиду atime, mtime и ctime структуры stat ?


да


VDB>И запись в каталог — Вы подразумеваете создание файла, или просто запись в существующий файл?


создание файла
Re[3]: времена access/modify/change файла
От: Vladimir D Belousov Россия  
Дата: 03.03.07 12:08
Оценка:
Здравствуйте, Amouse, Вы писали:

A>Здравствуйте, Vladimir D Belousov, Вы писали:


VDB>>Вы имеете ввиду atime, mtime и ctime структуры stat ?


A>да


VDB>>И запись в каталог — Вы подразумеваете создание файла, или просто запись в существующий файл?


A>создание файла


Тогда все верно.
Согласно документации mkdod, write и нек. другие вызовы изменяют как ctime, так и mtime.
И логически — при создании файла в каталоге, в каталог нужно внести изменения — как размер каталога изменить, так и добавить новый элемент.
Я правильно Вас понял?
--
Спасибо
Re[4]: времена access/modify/change файла
От: Amouse Россия  
Дата: 03.03.07 13:23
Оценка:
Здравствуйте, Vladimir D Belousov, Вы писали:

VDB>Тогда все верно.

VDB>Согласно документации mkdod, write и нек. другие вызовы изменяют как ctime, так и mtime.

а что это за документация и какой write?


VDB>И логически — при создании файла в каталоге, в каталог нужно внести изменения — как размер каталога изменить, так и добавить новый элемент.


Не логично. Добавление нового элемента в каталог, это тоже, что обычная запись для файла, т.е для этого есть modify time, change уже не причем.
Размер каталога часто не меняется при добавлении нового элемента.
Re[5]: времена access/modify/change файла
От: Vladimir D Belousov Россия  
Дата: 03.03.07 13:37
Оценка: 2 (1)
Здравствуйте, Amouse, Вы писали:

A>Здравствуйте, Vladimir D Belousov, Вы писали:


A>а что это за документация и какой write?


man от stat(2)

st_mtime Time when file data last modified. Changed by the
mkdir(2), mkfifo(2), mknod(2), utimes(2), write(2) and
writev(2) system calls.

st_ctime Time when file status was last changed (inode data modifi-
cation). Changed by the chflags(2), chmod(2), chown(2),
creat(2), link(2), mkdir(2), mkfifo(2), mknod(2),
rename(2), rmdir(2), symlink(2), truncate(2), unlink(2),
utimes(2), write(2) and writev(2) system calls.



VDB>>И логически — при создании файла в каталоге, в каталог нужно внести изменения — как размер каталога изменить, так и добавить новый элемент.


A>Не логично. Добавление нового элемента в каталог, это тоже, что обычная запись для файла, т.е для этого есть modify time, change уже не причем.

A>Размер каталога часто не меняется при добавлении нового элемента.

Меняется. Может быть не меняется кол-во места на диске, занимаемое файлом или каталогом, но непосредственно размер — меняется.
Так же меняется время изменения каталога.
--
Спасибо
Re[6]: времена access/modify/change файла
От: Amouse Россия  
Дата: 03.03.07 14:30
Оценка:
Здравствуйте, Vladimir D Belousov, Вы писали:

VDB>man от stat(2)

VDB>

VDB> st_mtime Time when file data last modified. Changed by the
VDB> mkdir(2), mkfifo(2), mknod(2), utimes(2), write(2) and
VDB> writev(2) system calls.

VDB> st_ctime Time when file status was last changed (inode data modifi-
VDB> cation). Changed by the chflags(2), chmod(2), chown(2),
VDB> creat(2), link(2), mkdir(2), mkfifo(2), mknod(2),
VDB> rename(2), rmdir(2), symlink(2), truncate(2), unlink(2),
VDB> utimes(2), write(2) and writev(2) system calls.



а линку можно?
а то вот нашел, но видимо старое —
http://www.citforum.ru/operating_systems/manpages/STAT.2.shtml


VDB>Меняется. Может быть не меняется кол-во места на диске, занимаемое файлом или каталогом, но непосредственно размер — меняется.


да, вероятно дело в данном случае в размере.
Re[7]: времена access/modify/change файла
От: Amouse Россия  
Дата: 03.03.07 14:33
Оценка:
Здравствуйте, Amouse, Вы писали:

A>а линку можно?


в моей Suse man еще короче — никаких вызовов для ctime не перечислено
Re[8]: времена access/modify/change файла
От: Vladimir D Belousov Россия  
Дата: 03.03.07 15:16
Оценка:
Здравствуйте, Amouse, Вы писали:

A>Здравствуйте, Amouse, Вы писали:


A>>а линку можно?


A>в моей Suse man еще короче — никаких вызовов для ctime не перечислено


http://www.opennet.ru/man.shtml?topic=lstat&category=2&russian=0
--
Спасибо
Re: времена access/modify/change файла
От: nyquist  
Дата: 07.03.07 16:02
Оценка:
Здравствуйте, Amouse, Вы писали:

A>подскажите, где описаны правила, как устанавливаются сабжи?


A>Скажем, имхо странно, что запись в каталог меняет и change time каталога.

A>Change time, по описанию, это изменения служебных данных файла, но ведь при записи
A>в каталог таких изменений нет?

Ну если объяснить очень кратко и на пальцах, То каталог — это тот же файл.
А его содержимым является "список" (на inode's) содержащихся в нем файлов.
Естественно, для того, чтобы изменить содержимое каталога, надо внести изменения в файл каталога

Кстати, для Windows и NTFS это также верно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.