El comando tree en Linux

y

En la terminal es un poco complicado ver la estructura de un directorio, podrías acceder a unos cuanto directorios para ver que contiene, pero si es una cantidad grande la tarea es un tanto complicada. Para eso existe el comando linux tree que te muestra esa estrucutra dentro de una ruta y aquí te muestro como puedes instalar el comando tree y como usarlo en linux

El comando tree en Linux

El comando linux tree lista de forma recursiva los directorios y archivos contenidos en un ruta y los muestra en forma estructurada de tal forma que con se puede apreciar que directorio o archivos se encuentran dentro de otros mediante una identación y simbolos que representan esa dependencia.

Este es un ejemplo de laestrctura del directorio home de un usuario genérico:

/home
 └── User
     ├── Desktop
     ├── Documents
     ├── Downloads
     ├── Music
     ├── Pictures
     ├── Public
     ├── Templates
     ├── Videos
     └── VirtualBox VMs

Es importante aclarar que este comando no está instalado por default en la mayoría de las distribuciones Linux por lo que hay que hacerlo de forma manual. Puedes instalar en el comando tree en las distintas distribuciones linux con estos comandos:

Debian / Ubuntu / Linux Mint

sudo apt install tree

Red Hat / Centos / Fedora

yum install tree

Arch / Manjaro

sudo pacman -S tree

openSUSE

zypper install tree

Este comando tiene una gran variedad de parámetros con los que puedes encontrar lo que necesites dentro de una estructura de directorios. Te muestro algunos ejemplos prácticos con los que puedes sacarle todo el jugo a este comando.

Cómo monstrar solo directorios con el comando tree

Una de las necesidades comunes al usar el comando tree es cuando requieres listar solo los directorios, por ejemplo, para saber si un directorio existe y saber si se encuentra en la ruta que que necesitas.

tree -d

La salida de este comando puede mostrarte una estructura parecida a esta:

$ tree -d ~
 /home/user
 ├── Desktop
 ├── Documents
 │   s
 ├── Downloads
 │   └── tor-browser_en-US
 ├── Music
 ├── Pictures
 │   ├── 3d clipart
 │   ├── logos
 │   ├── wallpapers
 │   └── Webcam
 ├── Public
 ├── Templates
 ├── Videos
 └── VirtualBox VMs
     ├── Debian10
     └── django-react

Como mostrar los archivos modificados primero con el comando tree

Otro uso que puedes dar al comando tree en Linux es saber cuales fueron los archivos que se modificaron en fechas mas recientes.

$ tree  -t -P *.txt ~/Documents
 /home/user/Documents
├── SIA TEST.txt
├── migracio de xen server a vmware.txt
├── users_linux.txt
├── userlist_A.txt
├── userlist_M.txt
├── users_domain.txt
├── test.txt
├── Books
├── Personal
└── Notes

En el comando anterior podemos encontrar los archivos .txt dentro del directorio Documents, además nos muestra primero el que fue modificado más recientemente

Como ver los permisos de los archivos y directorios con el comando tree

También puedes requerir ver los permisos que tienen los archivos y directorios dentro de una ruta en particular, ya sea para depurar algun error o para asegurar que solo los usuarios correctos puedan leer o modificar un archivo o directorio. Esto lo puedes hacer agregando el parámetro -p

$ tree  -t -p -P *.txt ~/Documents
/home/user/Documents
├── [-rw-r--r--]  SIA TEST.txt
├── [-rw-r--r--]  migracio de xen server a vmware.txt
├── [-rw-r--r--]  users_linux.txt
├── [-rw-r--r--]  userlist_GA.txt
├── [-rw-r--r--]  userlist_GACOM.txt
├── [-rw-r--r--]  users_domain.txt
├── [-rw-r--r--]  test.txt
├── [drwxr-xr-x]  Books
├── [drwx------] Personal
└── [drwxr-xr-x]  Notes

Puedes encontrar una lista copleta de los parámetros del comando tree consultando la documentación del comando con le comando:

man tree

Aquí te comparto una relación resumida de las opciones de este comando:

——- opciones de listado ——-
-a All files are listed.
-d List directories only.
-l Follow symbolic links like directories.
-f Print the full path prefix for each file.
-x Stay on current filesystem only.
-L level Descend only level directories deep.
-R Rerun tree when max dir level reached.
-P pattern List only those files that match the pattern given.
-I pattern Do not list files that match the given pattern.
–ignore-case Ignore case when pattern matching.
–matchdirs Include directory names in -P pattern matching.
–noreport Turn off file/directory count at end of tree listing.
–charset X Use charset X for terminal/HTML and indentation line output.
–filelimit # Do not descend dirs with more than # files in them.
–timefmt Print and format time according to the format .
-o filename Output to file instead of stdout.
——– Opciones de Archivos ———
-q Print non-printable characters as ‘?’.
s Print non-printable characters as is.
-Q Quote filenames with double quotes.
-p Print the protections for each file.
-u Displays file owner or UID number.
-g Displays file group owner or GID number.
-s Print the size in bytes of each file.
-h Print the size in a more human readable way.
–si Like -h, but use in SI units (powers of 1000).
-D Print the date of last modification or (-c) status change.
-F Appends ‘/’, ‘=’, ‘*’, ‘@’, ‘|’ or ‘>’ as per ls -F.
–inodes Print inode number of each file.
–device Print device ID number to which each file belongs.
——- opciones de ordenamiento ——-
-v Sort files alphanumerically by version.
-t Sort files by last modification time.
-c Sort files by last status change time.
-U Leave files unsorted.
-r Reverse the order of the sort.
–dirsfirst List directories before files (-U disables).
–sort X Select sort: name,version,size,mtime,ctime.
——- opciones de visualización ——
-i Don’t print indentation lines.
-A Print ANSI lines graphic indentation lines.
-S Print with CP437 (console) graphics indentation lines.
-n Turn colorization off always (-C overrides).
-C Turn colorization on always.
——- XML/HTML/JSON ——-
-X Prints out an XML representation of the tree.
-J Prints out an JSON representation of the tree.
-H baseHREF Prints out HTML format with baseHREF as top directory.
-T string Replace the default HTML title and H1 header with string.
–nolinks Turn off hyperlinks in HTML output.
—- Miscelaneos —-
–version Print version and exit.
–help Print usage and this help message and exit.
Options processing terminator.


This entry was posted in Comandos Linux and tagged , , , . Bookmark the permalink.

¿Cómo apoyar a ComoInstalarLInux.com ?

¿Te ha sido de utili este post? Si fue así puedes apoyar a este blog con una donación o compartiendo este post en tus redes sociales. Puedes utilizar el siguiente código QR o utilizando el botón de donación de PayPal.
Donativo con paypal

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *



Save my name, e-mail and web site for next time I comment.

*


Calcula para comentar *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Más en Comandos Linux
Como eliminar el historial de comandos en Linux

Cuando usas una terminal en cualquier distribución Linux los comandos que se ejecutan se van registrando en un historial que...

linux rsync comandos linux
Comandos Linux rsync

En Linux hay muchas herramientas que puedes usar desde la terminal y una de ellas es el comando linux rsync,...

Cerrar