Поиск файлов в Linux без ошибок «Отказано в доступе» и фильтрация по дате

Чтобы искать файлы в Linux, не встречая ошибок «отказано в доступе», и фильтровать их по дате, вы можете использовать различные методы. Вот несколько примеров с фрагментами кода:

Метод 1: использование команды find
Команда find— мощный инструмент для поиска файлов в Linux. Чтобы искать файлы без ошибок «отказано в доступе» и фильтровать их по дате, вы можете использовать параметры -userи -newerXY.

find /path/to/search -user your_username -newermt "YYYY-MM-DD"

Замените /path/to/searchна каталог, в котором вы хотите выполнить поиск, ваше_имя_пользователяна свое имя пользователя Linux и "ГГГГ-ММ-ДД"с желаемой датой.

Метод 2: использование командыlocate
Команда locate— еще один полезный инструмент для поиска файлов. Хотя он не поддерживает фильтрацию по дате напрямую, вы можете комбинировать его с другими командами, такими как grep, для достижения желаемого результата.

locate -r "pattern" | grep -v "/access_denied_directory/" | xargs ls -l --time- | awk '$6 >= "YYYY-MM-DD"'

Замените "шаблон"на имя файла или шаблон, который вы хотите найти, а "ГГГГ-ММ-ДД"на желаемую дату.

Метод 3: использование пакета mlocate
Пакет mlocateпредоставляет расширенную версию команды locate. Он создает индексированную базу данных имен файлов, что ускоряет поиск. Вы можете установить его с помощью менеджера пакетов вашего дистрибутива Linux.

sudo updatedb
locate -b "pattern" | xargs ls -l --time- | awk '$6 >= "YYYY-MM-DD"'

Замените "шаблон"на имя файла или шаблон, который вы хотите найти, а "ГГГГ-ММ-ДД"на желаемую дату.