Почему команда find -cmin +20 в Linux CentOS всегда возвращает 1 запись, которая есть .? Как я могу обойти это?

1 ответ1

0

Если вы не ввести определенный путь для find , чтобы посмотреть на, по крайней мере GNU находкой по умолчанию будет искать рекурсивно и в том числе в текущем каталоге, то . , Дословно от man find:

If no paths are given, the current directory is used.

Если вы не хотите включать в результаты сам аргумент пути, добавьте -mindepth 1 . Еще раз от man find

-mindepth levels
   Do not apply any tests or actions at levels less than `levels` (a
   non-negative integer). `-mindepth 1` means process all files except
   the command line arguments.

Пример:

~$ mkdir test
~$ cd test
~/test$ find
.
~/test$ find -mindepth 0
.
~/test$ find -mindepth 1
~/test$ 

С вашей конкретной командой find всегда будет возвращать хотя бы одну запись, если текущая директория старше 20 минут. Создание нового каталога, как вы это сделали, не будет ничего возвращать, так как он не будет соответствовать критериям поиска - по крайней мере, в течение 20 минут после его создания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .