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

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

find: все скрытые файлы проекта

легко~3 мин

Перед выкладкой общей папки /srv/projects нужно проверить, какие скрытые файлы (имя начинается с точки) в ней лежат на любой глубине. Запиши полные пути всех скрытых файлов — только файлов, не каталогов — в /root/hidden.txt, по одному в строке, порядок любой.

Что потренируешь:
  • find
  • -name
  • -type f
  • скрытые файлы
  • дотфайлы

Разбор темы

В Unix «скрытый» — не атрибут файла, а соглашение: имена, начинающиеся с точки, по умолчанию не показывают ls и шелловые маски *. Чтобы найти такие файлы во всём дереве, используют рекурсивный find с двумя фильтрами: по типу объекта (-type f — только обычные файлы, без каталогов) и по шаблону имени. -name сравнивает шаблон только с последним компонентом пути, поэтому обычный файл внутри скрытого каталога (.cache/build.log) в выдачу не попадёт, а сам каталог .cache отсеет фильтр по типу. Шаблон с метасимволами берут в кавычки, чтобы его не развернул шелл ещё до запуска find.

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

  1. файл /root/hidden.txt создан
  2. перечислены ровно 4 скрытых файла

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