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

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

Иногда, нужно найти все измененные файлы или папки в Unix/Linux ОС и в моей статье «Поиск последних измененных файлов/папок в Unix/Linux» я расскажу как это сделать.

Чтобы найти все файлы, которые были изменены с момента определенного времени (т.е. час назад, день назад, 24 часа назад и так далее) в Unix и Linux имеется команда find и она очень пригодиться для таких целей.
Чтобы найти все файлы, которые были изменены в течение последних 24 часов (последний полный день) в текущем каталоге и в его подкаталогах, используйте:

# find . -mtime -1 -print

Опция «-mtime -1» сообщает команде find искать модифицированные файлы за последние сутки (24 часа).
Опция «-print» сообщает «find» выводить файлы и их пути (где они лежат) и данную команду можно заменить на  «-ls»  если нужно вывести подробную информацию о файле.

Примеры:

Например нужно найти файлы, что были изменены за последние 30 минут в папке /home/captain:

# find /home/captain -type f -mmin -30

И приведу пример подобного, но для папки:

# find /home/captain -type d -mmin -30

Например нужно найти измененные файлы за 5 дней, но не включать в поиск вчерашний день (за последний день):

# find /home/captain -type f -mtime -5 ! -mtime -1

Для полного счастья, можно вывести время модификации и отсортировать по нему:

# find /home/captain -type f -mtime -5 ! -mtime -1 -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

Чтобы ограничить уровень вложенности, добавьте параметр «-depth». Например, поиск с уровнем вложенности не более 3 папок:

# find /home/captain -type f -mmin -30 -depth -3

Поиск файлов в /home/captain директории (и во всех ее подпапках) которые были изменены в течение последних 60 минут, и вывести их атрибуты:

$ find/ home/captain -type f -mmin -60 -exec ls -al {} \;

В качестве альтернативы, вы можете использовать xargs команду, чтобы достичь того же:

$ find /home/captain -type f -mmin -60 | xargs ls -l

Поиск последних измененных файлов/папок в Unix/Linux завершен.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.