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

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.


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'

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.