[Перевод] Как в Linux найти файлы, изменённые за последние 24 часа

Бывают ситуации, когда нужно быстро найти недавние изменения в файлах. Для этого в команде find можно указать время, когда были произведены эти изменения. В этой статье мы рассмотрим несколько полезных команд, которые помогут быстро найти файлы, изменённые за последние 24 часа. Публикация является переводом и будет полезна тем, кто изучает и постоянно использует Linux в работе.

9b742be37140abe009dbe13f3958cc33.png

Команда find — это мощная и эффективная утилита для поиска файлов и каталогов на основе различных критериев, включая время модификации, время создания и время доступа в вашей системе Linux.

Чтобы выполнить поиск файлов на основе времени их модификации, команда find предлагает опцию -mtime. Она позволяет искать файлы на основе времени их модификации, измеряемого в днях.

1. Команда find с опцией -mtime

Чтобы найти все файлы в каталоге Downloads, которые были изменены ровно 24 часа назад, выполните следующую команду.

$ find ~/Downloads -type f -mtime 0

Если вы хотите выполнить поиск по всей системе, вы можете использовать корневой каталог /, но имейте в виду, что это может занять много времени и может вернуть большое количество результатов.

$ find / -type f -mtime 0

Если вы хотите найти файлы в текущем каталоге и его подкаталогах, используйте следующую команду.

$ find . -type f -mtime -0

Найти файлы, измененные 24 часа назад. Источник.

Найти файлы, измененные 24 часа назад. Источник.

Разбивка приведённой команды:

— опция -type f гарантирует, что в результаты поиска включены только обычные файлы (без каталогов и других специальных файлов);

— опция -mtime -0 ограничивает поиск файлами, изменёнными в течение последних 24 часов.

Вы даже можете использовать значение "-1" для флага "-mtime" в команде find, чтобы получить все файлы, обновлённые в течение 24 часов.

$ find ~/Downloads -type f -mtime -1

Найти файлы, измененные 24 часа назад. Источник.

Найти файлы, измененные 24 часа назад. Источник.

В приведённой команде "-1" обозначает количество дней, а отрицательный знак — «меньше чем». То есть она будет искать файлы, изменённые за последние 24 часа.

2. Команда find с опцией -mmin

Теперь давайте рассмотрим ещё один вариант команды find, названный -mmin («Modification Minutes», минуты модификации), который используется для поиска файлов на основе времени их модификации в минутах вместо дней.

$ find ~/Downloads -type f -mmin -1440

Найти файлы, измененные 24 часа назад. Источник.

Найти файлы, измененные 24 часа назад. Источник.

В приведённой команде -1440 означает «меньше 1440 минут», где значение получено путём преобразования 24 часов в минуты (24 часа * 60 минут).

3. Команда find с опцией -newermt

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

$ find ~/Downloads -type f -newermt "24 hours ago"

Найти файлы, измененные 24 часа назад. Источник.

Найти файлы, измененные 24 часа назад. Источник.

Давайте рассмотрим ещё один аргумент — »1 day ago», который служит для поиска файлов, изменённых за последний день:

$ find ~/Downloads -type f -newermt "1 day ago"

Вы также можете найти файлы, изменённые в определённую дату (независимо от времени):

$ find ~/Downloads -type f -newermt "2023-08-05"

4. Использование команд ls и Grep

Наконец, давайте рассмотрим ещё одну классную команду, которая объединяет команды "ls" и "grep" для поиска файлов, изменённых за последние 24 часа.

$ ls -lt ~/Downloads | grep 'Jul 21'

Найти файлы, измененные 24 часа назад. Источник.

Найти файлы, измененные 24 часа назад. Источник.

Заключение

Умение быстро находить файлы, изменённые за последние 24 часа — ценный навык для всех, кто работает с файлами в Unix-подобных системах. Благодаря команде find и её гибким опциям можно легко и эффективно найти файлы, зная хотя бы примерное время их изменения.

Если вас интересует практика эффективной работы в Linux, приходите в Слёрм на курс «Администрирование в Linux. Мега». Он поможет вам восполнить пробелы и систематизировать свои знания. Вы изучите особенности Linux, познакомитесь с best practices и научитесь экономить время при решении задач. В курсе будет много практики, примеров из опыта спикера и компании Southbridge.

Ознакомиться с программой можно на нашем сайте.

Ближайший старт — 26 февраля 2024 года.

© Habrahabr.ru