Як надрукувати дерево каталогів у терміналі


130

Яка команда може бути використана для малювання дерева каталогів всередині емулятора терміналу?

введіть тут опис зображення

Відповіді:


175

Ви можете використовувати treeдля друку дерево каталогів у терміналі. Встановити treeз терміналу,

sudo apt-get install tree

Щоб побачити дерево каталогів, використовуйте

tree /path/to/folder

Або перейдіть до каталогу та просто використовуйте

tree

У неї є і деякі вдосконалені варіанти. Ви можете побачити власника username, groupnameдата останньої модифікації файлу / папки , і так далі , використовуючи tree. Він підтримує кольори каталогів, lsщоб ви могли бачити кольорові виходи.

Дивіться man treeдокладніше.


6
Якщо ви хочете дерево тільки каталоги, використовуйте -dперемикач.
souravc

чистий та простий інструмент
Чжихон

3
або якщо ви використовуєте заварку на OSX. "варити дерево встановити"
AshHimself

Я шукав, як це зробити на Win7 + cmder: treeдобре працює.
Бендж

@AshHimself так ви побили мене. ;)
jamescampbell

46

Ви можете легко зробити це за допомогою наступної команди:

find . -type d | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"

Ця команда буде рекурсивно шукати каталоги всередині батьківського каталогу, а потім малювати дерево заснованих каталогів.

Ви також можете спробувати наступне, щоб включити і всі файли.

find | sed 's|[^/]*/|- |g'

7
Будь ласка, розділіть і поясніть вищезазначену команду для мене.
Авінаш Радж

3
@AvinashRaj Бадді загальна команда зрозуміла, якщо ви хочете дізнатися більше про sed, будь ласка, ознайомтеся з деякими навчальними посібниками або google. Тут справді важко пояснити всі седи!
Maythux

2
Мейто, ти маєш рацію, що якщо ти розумієш sed, то твій сценарій зрозумілий, але не обманюйся, що думати sed / regexes - це не що інше, як криптовалюта, яку ти навчився роками. Це навряд чи інтуїтивно - на мій погляд, дух коментаря Авінаша Раджа.
aaaaaa

Що мені потрібно змінити, щоб ігнорувати приховані каталоги?
кадам

1
як залишити конкретний каталог?
Діпак Доліян

14

Існує програма, treeяка називається списком вмісту каталогів у структурі дерева.

Я думаю, що це у сховищах (або навіть встановлено)

sudo apt install tree

tree -d /path/to/directory

Перевірте це посилання для отримання додаткової інформації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.