Tutorial de comandos Linux tree para principiantes (6 ejemplos)

No sería erróneo decir que elcomando lses el estándar de oro cuando se trata de listar el contenido de los directorios en la línea de comandos de Linux. Sin embargo, existen algunas alternativas que tienen sus propios puntos fuertes en comparación con ls. Una de esas herramientas es tree, cuyos fundamentos discutiremos aquí en este tutorial.

Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí han sido probados en una máquina Ubuntu 18.04 LTS.

Comando árbol de Linux

Como su nombre indica, el comando árbol de Linux muestra el contenido de los directorios en un formato similar al de un árbol. A continuación se muestra su sintaxis:

tree [OPTIONS] [directory]

Y así es como lo explica la página man de la herramienta:

Tree is a recursive directory listing program that produces a depth indented listing of files, 
which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree lists the files in the current  directory. When directory arguments are
given, tree lists all the files and/or directories found in the given directories each in turn.
Upon completion of listing all files/directories found, tree returns the total number of files
and/or directories listed.

En caso de que el comando árbol no esté instalado en tu caja de Ubuntu, puedes obtenerlo mediante el siguiente comando:

sudo apt-get install tree

A continuación hay algunos ejemplos con estilo de preguntas y respuestas que deberían darte un buen ejemplo de cómo funciona el comando árbol.

Q1. ¿Cómo funciona el comando árbol?

El uso básico es bastante sencillo. Sólo tienes que ejecutar el comando «árbol» sin ninguna opción. Aquí tienes un ejemplo:

tree

Esta es la salida que produjo este comando en mi sistema:

Cómo funciona el comando árbol

Así puedes ver que se produjo una estructura en forma de árbol en la salida. Ten en cuenta que es el directorio de trabajo actual el que se muestra por defecto. Si quieres mostrar el contenido de cualquier otro directorio, tendrás que especificar la ruta de ese directorio en la entrada.

Q2. ¿Cómo hacer que el árbol muestre también los archivos ocultos?

Por defecto, el comando árbol no muestra los archivos ocultos. Sin embargo, si quieres, puedes hacer que tree lo haga utilizando la opción de línea de comandos -a.

tree -a

Esto es lo que dice la página de manual sobre -a:

All files are printed. By default tree does not print hidden files (those beginning with a dot `.')
. In no event does tree print the file system constructs `.' (current directory) and `..'
(previous directory).

Q3. ¿Cómo hacer que tree sólo muestre los directorios en la salida?

Supón que quieres que el comando tree sólo muestre las entradas de los directorios en la salida. Puedes hacerlo utilizando la opción de línea de comandos -d.

Por ejemplo, el siguiente comando

tree -d

produce esta salida:

Cómo hacer que el árbol sólo muestre los directorios en la salida

Q4. ¿Cómo hacer que tree imprima el prefijo completo de la ruta de los archivos?

Esto se puede hacer utilizando la opción de línea de comandos -f. Aquí tienes un ejemplo:

tree -f

Aquí está parte de la salida producida por este comando en mi sistema:

Cómo hacer que el árbol imprima el prefijo completo de la ruta de los archivos

Q5. ¿Cómo controlar la profundidad del árbol de directorios en la salida?

El comando tree también te permite controlar la profundidad del árbol de directorios que se produce en la salida. Puedes hacerlo utilizando la opción de línea de comandos -L, que requiere un valor numérico que signifique la profundidad de directorio permitida. Por ejemplo:

tree -d -L 1

El comando anterior haría que sólo se mostrara en la salida el primer nivel de directorios.

Q6. ¿Cómo dejar selectivamente algunos nombres en la salida?

El comando árbol ofrece una opción de línea de comandos -I que requiere que pases un patrón como entrada. En función de los nombres de archivos/directorios que quieras que no se muestren en la salida, crea un patrón. Por ejemplo, yo quería mostrar sólo los directorios, pero no quería ningún nombre con el patrón «Ubuntu» (que distingue entre mayúsculas y minúsculas), así que utilicé la opción de línea de comandos -I de la siguiente manera:

tree -d -I *Ubuntu

Conclusión

Aunque hemos hablado de bastantes opciones de la línea de comandos del árbol, lo cierto es que esta herramienta ofrece muchas más funciones. Una vez que hayas terminado de practicar todo lo que hemos discutido aquí, dirígete a la página man del comando tree para aprender más sobre él.

También te podría gustar...