Практическое задание

Эта задача — шаг 9 курса «find и xargs: поиск и массовые операции»

find -maxdepth: без спуска в подкаталоги

легко~3 мин

В /root/etc есть .conf-файлы и на верхнем уровне, и во вложенном каталоге sub/. Найди .conf только на верхнем уровне (не заходя в подкаталоги) и запиши их пути (/root/etc/…) в /root/top.txt.

Что потренируешь:
  • find
  • -maxdepth
  • глубина обхода
  • -name

Разбор темы

find по умолчанию рекурсивен, но глубину обхода можно ограничить: -maxdepth N не спускается глубже N уровней (0 — только стартовый путь, 1 — его прямое содержимое), а -mindepth N пропускает верхние уровни. Это ускоряет поиск и делает выборку точнее — например, «конфиги только в /etc, но не в /etc/*/». -maxdepth — не тест, а глобальная опция: она действует на весь обход, где бы ни стояла, но GNU find предупреждает, если она записана после тестов, — поэтому её пишут сразу после стартового каталога. Ограничение глубины особенно полезно на больших деревьях, где полный рекурсивный обход дорог.

Что проверяется

  1. верхнеуровневые найдены
  2. лишнее исключено

Как это выглядит