Почему эти две команды find дают разные результаты?

Я хотел видеть все файлы, измененные за последние 10 дней, и кто их владел, поэтому я ввел следующее, чтобы дать мне представление о том, сколько результатов будет возвращено;

find . -maxdepth 1 -mtime -10 

Затем я дал команду;

 find . -maxdepth 1 -mtime -10 -exec ls -lh {} \; 

Обе команды дают совсем другой результат, но я не понимаю, почему. Может кто-нибудь объяснить, что происходит и почему они дают разные результаты?

Поскольку вы не используете параметр- -type f , find вернет все папки и файлы. Во второй команде, если папка найдена, команда ls -lh перечислит ее содержимое, что приведет к большему результату, чем первая команда.

 $ find . -maxdepth 1 -mtime -10 | wc -l 63 $ find . -maxdepth 1 -mtime -10 -exec ls -lh {} \; | wc -l 313 

Вы должны использовать:

 find . -maxdepth 1 -type f -mtime -10 find . -maxdepth 1 -type f -mtime -10 -exec ls -lh {} \; 

для отображения только файлов.