Поиск файлов, измененных за последние N минут в Linux

Linux Logo Scripts

Поиск недавно измененных файлов - полезный параметр при устранении неполадок в коде или на сервере. Какие файлы журнала были изменены? Какие файлы изменились, когда я выполнил эту команду? Универсальная команда find может помочь вам получить ответы.

Команда ниже найдет все файлы, которые были изменены за последние пять минут в текущем каталоге.

Это только один пример. Позвольте мне поделиться тем, как можно подробно перечислить файлы, к которым обращались и которые были созданы за последние n минут/дней.

Поиск измененных файлов в Linux

Прежде чем перейти к объяснительной части, сначала я хотел бы поделиться синтаксисом того, как вы можете использовать команду find для поиска файлов, которые были изменены за последние n минут.

Здесь n указывает, сколько минут вы хотите проверить. Но у вас также есть некоторые опции, например:

  • -n будет проверять файлы, измененные менее чем за n минут.
  • +n будет проверять файлы, измененные более чем за n минут
  • n будет проверять файлы, измененные ровно n минут назад.

Аналогично, вы также можете использовать -mtime вместо -mmin для проверки файлов, измененных несколько дней назад.

Поиск файлов, измененных за последние 5 минут

Предположим, я хочу найти в списке файлы, которые были изменены за последние 5 минут в каталоге var; моя команда будет выглядеть следующим образом:

Я добавлю -ls, чтобы получить более чистый вид и больше информации, такой как владелец файла, разрешения и время модификации.

Команда find позволяет выполнять несколько действий над результатом. Одним из таких действий является -ls. Вам не обязательно использовать find-exac или xargs для команды ls.

Поиск файлов, измененных за последние n дней

Чтобы найти измененные файлы за последние n дней вместо n минут, нужно просто использовать -mtime вместо -mmin.

Предположим, я хочу найти файлы, которые были изменены за последние сутки, моя команда будет следующей:

Поиск файлов старше X дней

Вы можете использовать параметр mtime для поиска старых файлов, которые не были изменены в последнее время.

Допустим, вы хотите найти файлы старше 30 дней в текущем каталоге. Используйте эту команду:

Найти измененные каталоги за последние n минут или дней

Команда find также может вывести список измененных каталогов.

Просто замените -type f на -type d, что позволит вам искать не файлы, а каталоги.

Для демонстрации я покажу, как можно получить список измененных каталогов в каталоге /.cache/mozilla/firefox:

Аналогичным образом можно найти каталоги, над которыми вы работали несколько дней назад.

Поиск файлов, к которым недавно обращались или которые были созданы

Как же найти файлы, к которым обращались или которые были созданы за последние n минут?

Чтобы найти файлы, к которым обращались в течение последних n минут, вам придется использовать -amin вместо -mmin.

Чтобы найти файлы, к которым обращались в течение последних 5 минут внутри моего предпочтительного каталога, я использую следующую команду:

Таким же образом можно найти файлы, созданные за последние n минут, используя -cmin вместо -amin.

Заключение

В принципе, возможности использования не ограничены. Вы можете изменить его от -n до +n, и вы сможете искать более старые файлы. Используйте ctime, и вы сможете получить недавно созданные или древние файлы.

Изучение основ позволит вам использовать команду find в соответствии с вашими потребностями. Я считаю, что это руководство дало вам достаточное понимание использования параметра time команды find.

Avatar for Gnostis
Gnostis
Добавить комментарий