find поиск по времени обращения к файлам

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

rfcr
Сообщения: 92

find поиск по времени обращения к файлам

Сообщение rfcr »

Всем привет!

В папке лежит файл время обращения к которому (проверено по ctrl + x - i в mc) 31 августа прошлого года:

# ls -l /work/
-rw-rw-rw- 1 nobody nobody 2344 Aug 31 15:03 test

Пробовал разные варианты как его найти с помощью find и ключа atime но ничего не получается:

# find /work/ -atime +0 -print
# find /work/* -atime +0 -print
# find /work/* -atime +100 -print
# find /work/* -atime +1 -print

Кто знает почему так? Дистрибутив OpenSuse 11.1, findutils-4.2.31-24.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo

Re: find поиск по времени обращения к файлам

Сообщение /dev/random »

rfcr писал(а):
14.01.2010 12:06
# ls -l /work/
-rw-rw-rw- 1 nobody nobody 2344 Aug 31 15:03 test
[...]
# find /work/ -atime +0 -print
# find /work/* -atime +0 -print
# find /work/* -atime +100 -print
# find /work/* -atime +1 -print

Вы atime с mtime не путаете? В приведённом вами выводе ls указано именно mtime.
Спасибо сказали:
rfcr
Сообщения: 92

Re: find поиск по времени обращения к файлам

Сообщение rfcr »

Нет не путаю. Смотрел через mc. Если я просматриваю статистику по файлу то этот атрибут меняется? Может он изменился когда я просматривал информацию?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo

Re: find поиск по времени обращения к файлам

Сообщение /dev/random »

rfcr писал(а):
14.01.2010 14:00
Нет не путаю. Смотрел через mc. Если я просматриваю статистику по файлу то этот атрибут меняется? Может он изменился когда я просматривал информацию?

Пока вы просматриваете только "внешнюю" статистику, для которой не нужно просматривать содержимое, он не меняется. Этот атрибут означает время последнего чтения содержимого.
Сделайте
ls -l --time=atime
Спасибо сказали:
rfcr
Сообщения: 92

Re: find поиск по времени обращения к файлам

Сообщение rfcr »

Тот файл у меня уже "обновился" по дате. А других таких найти не могу... Т.е. команда стала работать нормально.
Может дело в том, что когда давал команду эта дата обновилась не заметно для меня...
Впрочем если получиться повторить ситуацию - отпишусь. Спасибо.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: find поиск по времени обращения к файлам

Сообщение drBatty »

rfcr писал(а):
14.01.2010 15:15
Впрочем если получиться повторить ситуацию - отпишусь. Спасибо.

и?

На самом деле, у любого файла имеется 4 временных метки:
  • время последнего доступа. (время, когда файл в последний раз читали, но этот штамп НЕ обновляется при чтении атрибутов, например при "просмотре" каталога mc) atime
  • время последней модификации. Это когда файл последний раз изменяли. mtime
  • время последнего изменения состояния - когда у файла сменили его хозяина и/или права доступа. Или время создания, если с момента создания не было смены состояния. ctime
  • время удаления. имеет смысл только для удалённых файлов

первые три временные метки можно посмотреть командой stat или find -printf ...

rfcr писал(а):
14.01.2010 15:15
Может дело в том, что когда давал команду эта дата обновилась не заметно для меня...

так не бывает...

ЗЫж кроме всего прочего, команда find умеет искать файлы, которые изменились ПОСЛЕ изменения другого файла. См опции -newer, а также -cnewer & -anewer. Можно создать файл с нужным временным штампом командой touch
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: find поиск по времени обращения к файлам

Сообщение nesk »

drBatty писал(а):
05.03.2010 17:35
# время последней модификации. Это когда файл последний раз изменяли. mtime
# время последнего изменения состояния - когда у файла сменили его хозяина и/или права доступа. Или время создания, если с момента создания не было смены состояния. ctime

Все верно, хотел бы только заметить, что при изменение содержимого файла меняется одновременно mtime и ctime.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: find поиск по времени обращения к файлам

Сообщение drBatty »

nesk писал(а):
05.03.2010 17:39
Все верно, хотел бы только заметить, что при изменение содержимого файла меняется одновременно mtime и ctime.

ага. причём время доступа не меняется (если только писать, но не читать что получается).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: