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
имею в виду.