Come stampare l'albero delle directory nel terminale


131

Qual è il comando che può essere utilizzato per disegnare l'albero delle directory all'interno dell'emulatore di terminale?

inserisci qui la descrizione dell'immagine

Risposte:


176

È possibile utilizzare treeper stampare l'albero delle directory nel terminale. Installa treedal terminale,

sudo apt-get install tree

Per vedere l'albero delle directory, utilizzare

tree /path/to/folder

O vai a una directory e basta usare

tree

Ha anche alcune opzioni avanzate. Si può vedere del proprietario username, groupname, data di ultima modifica di un file / cartella e così via utilizzando tree. Supporta i colori delle directory in lsmodo da poter vedere output colorati.

Vedi man treedi più.


6
Se si desidera albero solo le directory utilizzare -dswitch.
souravc

strumento pulito e facile
zhihong

3
o se usi brew su OSX. "brew install tree"
AshHimself

Stavo cercando come farlo su Win7 + cmder: treefunziona bene.
Benj,

@AshHimself yep beat me to it. ;)
jamescampbell

46

Puoi farlo facilmente con il seguente comando:

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

Questo comando cercherà ricorsivamente le directory all'interno della directory padre e quindi disegnerà l'albero delle directory fondate.

Puoi anche provare quanto segue per includere anche tutti i file.

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

7
Si prega di dividere e spiegare il comando sopra per me.
Avinash Raj,

3
@AvinashRaj Buddy, il comando generale è chiaro se vuoi saperne di più su sed, fai riferimento ad alcuni tutorial o cercalo su Google. È davvero difficile spiegare tutti i sed qui!
Maythux,

2
Maythux, hai ragione nel dire che se capisci sed allora la tua sceneggiatura è chiara, ma non lasciarti ingannare dal pensare che sed / regexes siano tutt'altro che un linguaggio criptico che hai imparato nel corso degli anni. È poco intuitivo - che penso sia lo spirito del commento di Avinash Raj.
aaaaaa,

Cosa dovrei cambiare per ignorare le directory nascoste?
Cadam,

1
come lasciare una directory specifica?
Deepak Dholiyan l'

14

Esiste un programma chiamato treeche elenca il contenuto della directory in una struttura ad albero.

Penso che sia nei repository (o addirittura installato)

sudo apt install tree

tree -d /path/to/directory

Controlla questo link per ulteriori informazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.