![Python Glob Recursive](https://trspos.com/wp-content/uploads/python-glob-recursivo-400x267.jpg)
¿Cómo listar sólo directorios de forma recursiva en Linux?
![¿Cómo listar sólo directorios de forma recursiva en Linux?](https://trspos.com/wp-content/uploads/lista-de-solo-directorios-recursivamente-en-linux.jpg)
Cuando se trabaja con archivos y carpetas en Linux, puede ser útil consultar una lista de todos los directorios en un árbol de directorios de forma recursiva. A veces, sólo queremos ver los nombres de los directorios sin tener que pensar en los archivos. En este artículo, veremos cómo hacer exactamente eso.
Listando sólo directorios de forma recursiva
Para listar sólo los directorios de forma recursiva, podemos usar el siguiente comando:
find . -type d
Este comando buscará en el directorio actual (".") todas las subcarpetas y mostrará sólo los nombres de los directorios.
Podemos hacer que la lista sea más fácil de leer agregando la opción "-printf" seguida del formato que queremos usar para imprimir cada resultado. Por ejemplo, para agregar una barra diagonal al final de cada nombre de directorio para indicar que es una carpeta, podemos usar el siguiente comando:
find . -type d -printf "%p/n"
Listando directorios con una profundidad limitada
A veces, queremos limitar la profundidad de la búsqueda para reducir la cantidad de resultados. Podemos usar la opción "-maxdepth" para hacer eso. Por ejemplo, para listar sólo los directorios hasta una profundidad de 2 (es decir, los directorios directamente dentro del directorio actual y los directorios dentro de esos), podemos usar el siguiente comando:
find . -maxdepth 2 -type d -printf "%p/n"
Listando directorios y archivos con diferentes colores
Si quieres ver la lista de archivos y directorios resaltados en diferentes colores, puedes usar el comando "ls" junto con la opción "-G". Para listar sólo los directorios, podemos agregar la opción "-d". Por ejemplo, para listar sólo los directorios de forma recursiva con diferentes colores, podemos usar el siguiente comando:
ls -Gd */
Este comando mostrará sólo los directorios en la carpeta actual y subdirectorios resaltados en diferentes colores.
Conclusión
En este artículo, hemos visto cómo listar sólo los directorios de forma recursiva en Linux. Hemos aprendido cómo usar el comando "find" y cómo agregar opciones para limitar la profundidad y dar formato a la salida. También hemos visto cómo listar los directorios utilizando el comando "ls". Si trabajas mucho en la línea de comandos de Linux, este es un truco útil para encontrar rápidamente los directorios que necesitas.
Preguntas frecuentes
¿Qué es "-type d" en el comando "find"?
Esta opción especifica que sólo se mostrarán los elementos que sean directorios.
¿Qué es "-maxdepth" en el comando "find"?
Esta opción especifica el número máximo de niveles de profundidad que se considerarán en la búsqueda.
¿Cómo listar directorios y archivos al mismo tiempo?
Podemos usar el comando 'ls -al' para listar todos los archivos y directorios en una carpeta.
¿Cómo puedo listar todos los archivos en una carpeta?
Podemos usar el comando "ls -p" para listar todos los archivos en una carpeta.
Deja una respuesta