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

Поиск недавно изменённых файлов, с фильтром по времени редактирования, в каталоге Linux и исключение не интересующего нас подкаталога. Также добавим вывод в текстовый файл.

Команда

Например мы хотим посмотреть какие файлы были изменены за последние сутки назад и вывести их в виде списка, в файл. Для поиска воспользуемся утилитой find. В консоли вводим следующую команду:

find /var/www/example.com/ -path /var/www/example.com/logs -prune -o -type f -mtime -1 >> out.txt

Разбор команды

  • find /var/www/example.com/ - в этой части мы указываем каталог в котором хотим произвести поиск. Для примера я взял каталог сайта example.com;
  • -path /var/www/example.com/logs -prune -o - это часть, исключение из поиска каталога /var/www/example.com/logs, например мы не хотим вывести в итоговом списке часто меняющиеся файлы, в данном случае файлы журнала;
  • -type f - указываем тип - файл;
  • -mtime -1 - поиск по времени модификации, -1 означает изменения в течении одного полного дня, назад, от текущей даты;
  • >> out.txt - перенаправление вывода find в текстовый файл в текущем каталоге.

Заключение

В итоге после выполнения команды мы получаем файл out.txt. Он будет находится в том каталоге откуда был запущен, стандартно это /root. Внутри файла будет список файлов которые модифицировались в течении суток назад или иного, которое было указано.