Командная строка: Как рекурсивно найти все файлы, измененные за последние 24 часа, в директории /home/node/workspace?
Для рекурсивного поиска всех файлов, изменённых за последние 24 часа в директории `/home/node/workspace`, используется стандартная утилита `find`, доступная в Linux, macOS и других Unix-подобных системах.
**Основная команда:**
find /home/node/workspace -type f -mtime -1
**Разбор параметров:**
— `/home/node/workspace` — стартовая директория для рекурсивного обхода.
— `-type f` — искать только файлы (исключая директории, символические ссылки и т.д.).
— `-mtime -1` — файлы, время последнего изменения которых составляет менее 1 дня (менее 24 часов назад). Знак минус означает «меньше чем», плюс — «больше чем», без знака — ровно.
**Более точный вариант с использованием минут:**
Если нужна точность до минуты, используйте `-mmin`:
find /home/node/workspace -type f -mmin -1440
Здесь `-mmin -1440` означает «изменено менее 1440 минут назад», что равно ровно 24 часам.
**Вывод с подробной информацией:**
Чтобы увидеть дату изменения каждого найденного файла, добавьте `-ls` или передайте результат в `ls`:
find /home/node/workspace -type f -mtime -1 -ls
Или с форматированным временем:
find /home/node/workspace -type f -mtime -1 -exec ls -lh {} ;
**Сохранение результата в файл:**
find /home/node/workspace -type f -mtime -1 > changed_files.txt
**Поиск с учётом скрытых файлов:**
Команда `find` по умолчанию включает скрытые файлы (начинающиеся с точки), поэтому дополнительных флагов не требуется.
**Исключение определённых директорий** (например, `node_modules`):
find /home/node/workspace -type f -mtime -1 -not -path «*/node_modules/*»
**Важные нюансы:**
— `-mtime` работает с блоками по 24 часа, поэтому `-mtime -1` может захватывать файлы чуть старше 24 часов. Для точности используйте `-mmin -1440`.
— На macOS синтаксис `find` немного отличается, но приведённые команды работают корректно.
— Для выполнения команды могут потребоваться права доступа к указанной директории.
Таким образом, наиболее универсальная и точная команда для данной задачи:
find /home/node/workspace -type f -mmin -1440
