Как распечатать дерево каталогов в терминале

131

Какую команду можно использовать для рисования дерева каталогов внутри эмулятора терминала?

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

Maythux
источник

Ответы:

176

Вы можете использовать treeдля печати дерева каталогов в терминале. Установить treeиз терминала,

sudo apt-get install tree

Чтобы увидеть дерево каталогов, используйте

tree /path/to/folder

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

tree

Он также имеет некоторые дополнительные параметры. Вы можете видеть владелец username, groupnameдату последней модификации файла / папки , и так далее , используя tree. Он поддерживает цвета каталогов, lsтак что вы можете видеть цветные результаты.

Смотрите man treeбольше.

souravc
источник
6
Если вы хотите, чтобы дерево только каталоги, используйте -dпереключатель.
Souravc
чистый и легкий инструмент
zhihong
3
или если вы используете Brew на OSX. "варить дерево"
AshHimself
Я искал, как это сделать на Win7 + cmder: treeработает хорошо.
Бендж
@ AshHimself, да побили меня к этому. ;)
Jamescampbell
46

Вы можете сделать это легко с помощью следующей команды:

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

Эта команда будет рекурсивно искать каталоги в родительском каталоге, а затем рисовать дерево найденных каталогов.

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

find | sed 's|[^/]*/|- |g'
Maythux
источник
7
Пожалуйста, разделите и объясните приведенную выше команду для меня.
Авинаш Радж
3
@AvinashRaj Приятель, общая команда ясна, если вы хотите узнать больше о sed, обратитесь к некоторым учебникам или Google. Это действительно трудно объяснить все седь здесь!
Maythux
2
Maythux, вы правы, что если вы понимаете sed, то ваш сценарий ясен, но не думайте, что sed / regexes - это не что иное, как загадочный язык, который вы выучили за эти годы. Это вряд ли интуитивно понятно - что, я думаю, является духом комментария Авинаша Радж.
аааааа
Что мне нужно изменить, чтобы игнорировать скрытые каталоги?
cadams
1
как выйти из конкретного каталога?
Дипак Дхолиян
14

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

Я думаю, что это в репозиториях (или даже установлены)

sudo apt install tree

tree -d /path/to/directory

Проверьте эту ссылку для более.

mr2k
источник