В Unix-like системах для поиска файлов и папок, изменённых за определённый период, используется команда find. Ниже — основные способы её применения.
1. Файлы, изменённые за последние 24 часа (в текущем каталоге и подкаталогах):
find . -mtime -1 -print
Опция «-mtime -1» сообщает команде find искать модифицированные файлы за последние сутки (24 часа).
Опция «-print» сообщает «find» выводить файлы и их пути (где они лежат) и данную команду можно заменить на «-ls» если нужно вывести подробную информацию о файле.
2. Файлы, изменённые за последние 30 минут:
find /home/captain -type f -mmin -30
3. Папки, изменённые за последние 30 минут:
find /home/captain -type d -mmin -30
4. Файлы, изменённые за 5 дней, исключая последний день:
find /home/captain -type f -mtime -5 ! -mtime -1
5. Вывод времени модификации и сортировка по нему (от новых к старым):
find /home/captain -type f -mtime -5 ! -mtime -1 -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
6. Ограничение уровня вложенности (не более 3 папок):
Чтобы ограничить уровень вложенности, добавьте параметр «-depth». Например, поиск с уровнем вложенности не более 3 папок:
find /home/captain -type f -mmin -30 -depth -3
7. Вывод атрибутов файлов (изменённых за 60 минут):
find/ home/captain -type f -mmin -60 -exec ls -al {} \;
8. Альтернативный вариант с xargs:
find /home/captain -type f -mmin -60 | xargs ls -l
Итог: команда find позволяет гибко настраивать поиск по времени изменения, типу объекта, глубине вложенности и другим критериям. Комбинируя опции, можно решать разнообразные задачи — от простого поиска до детального анализа файловой системы.
