Добавить в корзинуПозвонить
Найти в Дзене

tree — показать структуру папок красиво

Ситуация: вы пришли в новый проект. Внутри — 50 папок и 200 файлов. Как понять, что где лежит? ls -la покажет список, но не даст представления о вложенности. find . вывалит простыню. tree выводит структуру файлов и папок в виде дерева. С первого взгляда видно, какие папки внутри каких лежат, где глубина, где пустота. Базовое использование: # Показать дерево текущей папки tree # Показать дерево конкретной папки tree /home/user/project Пример вывода: . ├── app.py ├── config │ ├── settings.py │ └── logging.conf ├── requirements.txt ├── static │ ├── css │ │ └── style.css │ └── js │ └── main.js └── templates ├── index.html └── article.html Вариант 1 (Ограничить глубину): # Только два уровня вложенности tree -L 2 /home/user/project Вариант 2 (Показать только папки, без файлов): tree -d /home/user/project Вариант 3 (Показать скрытые файлы): tree -a /home/user/project Вариант 4 (Подсветка по типам файлов): tree -C /home/user/project Исполняемые файлы — зелёным, папки

tree — показать структуру папок красиво

Ситуация: вы пришли в новый проект. Внутри — 50 папок и 200 файлов. Как понять, что где лежит? ls -la покажет список, но не даст представления о вложенности. find . вывалит простыню.

tree выводит структуру файлов и папок в виде дерева. С первого взгляда видно, какие папки внутри каких лежат, где глубина, где пустота.

Базовое использование:

# Показать дерево текущей папки

tree

# Показать дерево конкретной папки

tree /home/user/project

Пример вывода:

.

├── app.py

├── config

│ ├── settings.py

│ └── logging.conf

├── requirements.txt

├── static

│ ├── css

│ │ └── style.css

│ └── js

│ └── main.js

└── templates

├── index.html

└── article.html

Вариант 1 (Ограничить глубину):

# Только два уровня вложенности

tree -L 2 /home/user/project

Вариант 2 (Показать только папки, без файлов):

tree -d /home/user/project

Вариант 3 (Показать скрытые файлы):

tree -a /home/user/project

Вариант 4 (Подсветка по типам файлов):

tree -C /home/user/project

Исполняемые файлы — зелёным, папки — синим, архивы — красным.

Вариант 5 (Сохранить дерево в файл):

tree /home/user/project > structure.txt

Вариант 6 (Исключить определённые папки):

tree --prune --matchdirs --dirsfirst -I "node_modules|.git|__pycache__"

Не показывать node_modules, .git и pycache.

Вариант 7 (Показать размер файлов):

tree --du -h

--du — показать суммарный размер папки, -h — человеко-читаемый формат.

Вариант 8 (С XML/JSON выводом для скриптов):

tree --xml > structure.xml

tree --json > structure.json

Красивые варианты:

# Ограничить глубину 2, показать папки первыми, исключить мусор

tree -L 2 -d --dirsfirst -I "venv|.idea|.pytest_cache|__pycache__|.git"

# С размерами файлов, глубиной 3, только папки

tree -L 3 -d --du -h

# Цветной вывод с папками первыми, без файлов

tree -C -d --dirsfirst

Совет: добавьте в ~/.bashrc алиас:

alias tree='tree -C --dirsfirst'

Теперь всегда будет цветной вывод и папки сверху.

Используете tree для навигации или предпочитаете ls -R?

P.S. Самый недооценённый флаг — -L. Ограничивает глубину, когда дерево слишком большое и нужно только понять общую структуру.

👉🏻 Я в Telegram - https://dzen.ru/id/686102a27e39653c3429f77f

👉🏻 Я в VK - vk.com/helcode

👉🏻 Я на Boosty - boosty.to/helcode