Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!

Используйте код при регистрации:

Skills
02.09.2025

Как составить список каталогов в linux?

Работа в Linux часто похожа на навигацию по огромной библиотеке. Вместо полок у вас есть каталоги (папки), а вместо книг – файлы. Чтобы эффективно работать в качестве системного администратора, разработчика или даже любопытного новичка, вам необходимо овладеть основами ориентирования в этой структуре. Один из самых важных навыков – научиться составлять списки каталогов. В этой статье мы рассмотрим различные подходы, объясним их плюсы и минусы, а также покажем, когда каждый из методов имеет смысл.

Почему листинг каталогов важен

На персональном компьютере вы можете лишь изредка заглядывать в папку “Документы” или “Загрузки”. Однако на сервере каталоги лежат в основе повседневных задач:

  • Системное администрирование: быстро проверить, что находится в /etc/ или /var/log/.
  • Веб-хостинг: найти папки проектов в /var/www/.
  • Разработка: выявление скрытых каталогов, таких как .git/ или .venv/.
  • Безопасность: проверьте, что установлено и работает в системе.

Короче говоря, если вы не знаете, как эффективно перечислить каталоги, вы всегда будете чувствовать себя потерянным.

Самый простой способ: ls

Команда ls – это стандартный инструмент для отображения содержимого папки. Запустите ее без аргументов:

ls

Она покажет и файлы, и каталоги. Если вы хотите видеть только каталоги:

ls -d */

Вот что происходит:

  • -d указывает ls не погружаться в каждый каталог.
  • */ – это шаблон оболочки, который соответствует всем каталогам в текущей папке.

Но есть ограничение: скрытые каталоги (начинающиеся с точки, например .git) не будут отображаться.

Если вам нужна подробная информация – разрешения, права собственности, временные метки – выполните команду:

ls -ld */

Используйте этот способ, когда вам нужен только быстрый взгляд, но имейте в виду, что это не самый надежный метод для написания сценариев.

Более надежный метод: find

find – это как прожектор: он может просканировать вашу систему в поисках каталогов на любой глубине.

Перечисляет все каталоги рекурсивно, начиная с текущего местоположения:

find . -тип d

Только каталоги верхнего уровня (переносимо в Linux, macOS, BSD):

find . -mindepth 1 -prune -type d

Если вы работаете в GNU/Linux (большинство дистрибутивов VPS), вы можете использовать более простую версию:

find . -maxdepth 1 -type d

Когда использовать find:

  • Вы хотите включить скрытые каталоги.
  • Вам нужны рекурсивные результаты.
  • Вы пишете сценарий и нуждаетесь в согласованности между системами.

Почему бы не использовать ls -l | grep “^d”?

Иногда можно встретить такое предложение:

ls -l | grep "^d"

Он фильтрует вывод ls -l, чтобы показать только каталоги (поскольку они начинаются с d).

Но такой подход хрупок:

  • Различные локали или настройки цвета могут нарушить парсинг.
  • Символические ссылки на каталоги не будут отображаться.
  • Ненадежно для автоматизации.

Лучше использовать find.

Лучшие практики

  • Для написания сценариев: используйте find – он переносимый, последовательный и работает со скрытыми каталогами.
  • Для быстрой проверки: ls -d */ подойдет – только помните, что он игнорирует скрытые папки.
  • Для визуальной структуры: используйте дерево.
  • Для безопасности: всегда перепроверяйте скрытые каталоги – в них часто хранятся важные конфигурации (.ssh, .git, .config).
  • Заключение

Перечисление каталогов – это базовый, но необходимый навык работы в Linux. В зависимости от контекста, у вас есть несколько инструментов:

  • ls -d */ для быстрой проверки.
  • find . -mindepth 1 -prune -type d для получения надежных результатов верхнего уровня.
  • tree -d для визуальной карты вашей системы.

На VPS или выделенном сервере AlexHost эти команды помогут вам полностью контролировать свое окружение, будь то развертывание приложений, мониторинг журналов или просто изучение файловой системы. Овладев ими, вы сэкономите время, предотвратите ошибки и будете чувствовать себя как дома на любой машине Linux.

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!

Используйте код при регистрации:

Skills