Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 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 . -type 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