Linux найти и использовать -mtime

У меня есть две разные системы на основе Linux, где команда find не работает должным образом.

У меня есть каталог. В этом я бегу...

ls -l

и система возвращается...

drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder1
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder2
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:25 folder3
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 24 09:52 folder4

сегодня 24.05.17.

В том же каталоге, если я бегу...

find . -mtime +1 -type d

система ничего не возвращает.

Насколько я понимаю, команда find должна найти все каталоги "-type d" в текущем каталоге "." которые старше 1 дня "-mtime +1". Так...

folder1
folder2
folder3

все должны быть перечислены в моем понимании. Две системы под моим контролем демонстрируют это поведение. Я делаю что-то неправильно или что-то упустил? Может ли что-то изменить каталоги таким образом, чтобы ls -l не отражал правильную дату изменения? Есть ли что-то еще, что я мог бы попытаться устранить проблему? Любая помощь приветствуется.

1 ответ

Решение

Из-за странного способа mtime округляется, +1 означает "48 часов или более". Это задокументировано на странице руководства.

Способ запомнить его - начать с самого простого использования: -mtime 1 Это означает, что к файлу обращались 24 часа назад плюс любая дробь (например, 24+23 часа также будут совпадать). Из этого "логически" следует, что +1 а также -1 имею в виду.

Другие вопросы по тегам