Cómo imprimir el árbol de directorios en la terminal

131

¿Cuál es el comando que se puede usar para dibujar el árbol de directorios dentro del emulador de terminal?

ingrese la descripción de la imagen aquí

Maythux
fuente

Respuestas:

176

Puede usar treepara imprimir el árbol de directorios en la terminal. Instalar treedesde la terminal,

sudo apt-get install tree

Para ver el árbol de directorios, use

tree /path/to/folder

O navegue a un directorio y simplemente use

tree

Tiene algunas opciones avanzadas también. Se puede ver de propietario username, groupname, fecha de la última modificación de un archivo / carpeta y así sucesivamente utilizando tree. Admite colores de directorio lspara que pueda ver salidas coloreadas.

Mira man treepara más.

souravc
fuente
66
Si desea crear un árbol de directorios, utilice el -dinterruptor.
souravc
herramienta limpia y fácil
zhihong
3
o si usas brew en OSX. "brew install tree"
AshHelfelf
Estaba buscando cómo hacerlo en Win7 + cmder: treefunciona bien.
Benj
@AshHelfelf sí me ganó. ;)
jamescampbell
46

Puedes hacerlo fácilmente con el siguiente comando:

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

Este comando buscará recursivamente directorios dentro del directorio padre y luego dibujará el árbol de los directorios fundados.

También puede intentar lo siguiente para incluir todos los archivos también.

find | sed 's|[^/]*/|- |g'
Maythux
fuente
77
Dividir y explicar el comando anterior para mí.
Avinash Raj
3
@AvinashRaj Buddy, el comando general está claro si desea obtener más información sobre sed, consulte algunos tutoriales o búsquelo en Google. ¡Es realmente difícil explicar todo aquí!
Maythux
2
Maythux, tienes razón en que si entiendes sed, entonces tu script es claro, pero no te dejes engañar pensando que sed / regexes son cualquier cosa menos un lenguaje críptico que has aprendido a lo largo de los años. No es intuitivo, lo que creo que es el espíritu del comentario de Avinash Raj.
aaaaaa
¿Qué necesitaría cambiar para ignorar los directorios ocultos?
cadams
1
¿Cómo dejar un directorio específico?
Deepak Dholiyan
14

Hay un programa llamado treeque enumera el contenido del directorio en una estructura de árbol.

Creo que está en los repositorios (o incluso instalado)

sudo apt install tree

tree -d /path/to/directory

Mira este enlace para más información.

mr2k
fuente