Como imprimir a árvore de diretórios no terminal

131

Qual é o comando que pode ser usado para desenhar a árvore de diretórios dentro do emulador de terminal?

insira a descrição da imagem aqui

Maythux
fonte

Respostas:

176

Você pode usar treepara imprimir a árvore de diretórios no terminal. Instale a treepartir do terminal,

sudo apt-get install tree

Para ver a árvore de diretórios, use

tree /path/to/folder

Ou navegue para um diretório e use

tree

Também tem algumas opções avançadas. Você pode ver do proprietário username, groupname, data da última modificação de um arquivo / pasta e assim por diante usando tree. Ele suporta cores de diretório lspara que você possa ver as saídas coloridas .

Veja man treepara mais.

souravc
fonte
6
Se você deseja árvore apenas diretórios use -dswitch.
souravc
ferramenta fácil e limpa
zhihong
3
ou se você usar o brew no OSX. "brew install tree"
AshHimself 15/09
Eu estava procurando como fazê-lo no Win7 + cmder: treefunciona bem.
9116 Benj
@AshHimself sim me venceu. ;)
jamescampbell
46

Você pode fazer isso facilmente com o seguinte comando:

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

Este comando procurará recursivamente os diretórios dentro do diretório pai e depois desenhará a árvore dos diretórios encontrados.

Você também pode tentar o seguinte para incluir todos os arquivos.

find | sed 's|[^/]*/|- |g'
Maythux
fonte
7
Divida e explique o comando acima para mim.
Avinash Raj
3
@AvinashRaj Buddy, o comando geral é claro se você quiser aprender mais sobre o sed, consulte alguns tutoriais ou faça uma busca no google. É realmente difícil explicar todos os sed aqui!
Maythux
2
Talvez você esteja certo de que, se você entender sed, seu script é claro, mas não se iluda pensando que sed / regexes são tudo menos uma linguagem enigmática que você aprendeu ao longo dos anos. Não é intuitivo - o que eu acho que é o espírito do comentário de Avinash Raj.
aaaaaa
O que eu precisaria mudar para ignorar diretórios ocultos?
cadams
1
como deixar um diretório específico?
Deepak Dholiyan 11/11/19
14

Existe um programa chamado treeque lista o conteúdo do diretório em uma estrutura em árvore.

Eu acho que está nos repositórios (ou até instalados)

sudo apt install tree

tree -d /path/to/directory

Verifique este link para mais.

mr2k
fonte