GNU/Linux >> Tutoriales Linux >  >> Linux

tree y pstree:visualización de procesos y directorios de Unix en estructura jerárquica


Foto cortesía de Steffe

Este artículo está escrito por SathiyaMoorthy.
 
Usando el comando ps tradicional, debe buscar manualmente el PID y el PID principal para identificar las dependencias entre los procesos. A veces puede ser útil ver los procesos de Linux en formato jerárquico mostrando los procesos secundarios debajo del proceso principal. comando pstree (árbol de procesos) mostrará los procesos jerárquicamente.
 
Usando el comando ls, normalmente ve el contenido de una estructura de directorio. A veces puede ser muy útil ver la estructura del directorio en una pantalla jerárquica. comando de árbol (árbol de directorios) mostrará las estructuras de directorio jerárquicamente.
 
En este artículo, revisemos cómo ver los procesos y directorios en formato de árbol con ejemplos detallados
 

Yo. Árbol de procesos:comando pstree

1. Árbol de procesos de visualización basado en PID

Syntax: pstree <PID>

 
En el siguiente ejemplo, di la identificación del proceso de mi proceso gdm, que muestra todos los procesos secundarios de mi proceso gdm. es decir, muestra xsession, konsole que se abre, nautilus, ssh y otros procesos asociados con el proceso gdm.

$ pstree 5038
gdm---gdm-+-Xorg
`-x-session-manag-+-gnome-panel---{gnome-panel}
|-gnome-settings--+-pulseaudio-+-gconf-helper
|                 |            `-2*[{pulseaudio}]
|                 `-{gnome-settings-}
|-konsole---3*[bash]
|-metacity
|-nautilus---{nautilus}
|-python
|-seahorse-agent
|-ssh-agent
|-trackerd---{trackerd}
`-{x-session-manag}

2. Mostrar árbol de procesos para un usuario

Syntax: pstree <username>

 
El siguiente ejemplo indica que el ID de usuario ramesh entró en la máquina, tiene 3 scripts de shell ejecutándose y abrió un editor vim.

$ pstree ramesh
su---bash-+-3*[sh---sleep]
`-vim---{vim}

3. Mostrar todos los procesos en estructura jerárquica

Syntax: pstree

 
pstree sin argumento mostrará todo el proceso en estructura jerárquica. Tenga en cuenta que a continuación solo se muestra una salida parcial.

$ pstree | more
init-+-acpid
|-avahi-daemon---avahi-daemon
|-bonobo-activati---{bonobo-activati}
|-cron
|-cupsd
|-gdm---gdm-+-Xorg
|           `-x-session-manag-+-gnome-panel---{gnome-panel}
|                             |-gnome-settings--+-pulseaudio-+-gconf-helper
|                             |                 |            `-2*[{pulseaudio}]
|                             |                 `-{gnome-settings-}
|                             |-konsole---3*[bash]
|                             |-metacity
|                             |-ssh-agent
|                             `-{x-session-manag}
|-getty
|-konsole-+-2*[bash]
|         |-bash---vim
|         `-bash-+-pstree
|                `-vim
|-thinMS
`-udevd

4. Mostrar argumentos de línea de comando dados a un proceso

Syntax: pstree -a

 
Use la opción -a como se muestra a continuación, para mostrar los argumentos de la línea de comando asociados con un proceso en particular.

$ pstree -a ramesh
su bk
`-bash
|-sh ./test.sh
|   `-sleep 1000
|-sh ./test.sh
|   `-sleep 1000
|-sh ./test.sh
|   `-sleep 1000
`-sh test.sh [1-9]
`-sleep 1000

II. Árbol de directorios:comando de árbol

1. Ver diferentes estructuras de directorio

  • # árbol / | más – Ejecute este comando para navegar a través de la estructura de directorios de todo el sistema operativo. Por lo general, no tiene sentido hacer un árbol en la estructura del directorio raíz, a menos que esté en un modo de aprendizaje y desee comprender la jerarquía de directorios de Linux.
  • # árbol $HOME – Utilícelo para realizar una verificación cruzada del contenido de la estructura del directorio de inicio.
  • # árbol PROYECTO-DIR – Comprobación de la estructura de directorios de un proyecto.

2. Cambiando la salida del comando de árbol.

  • # árbol -d mostrará sólo los directorios. es decir, los archivos no se mostrarán.
  • # árbol -a mostrará archivos ocultos junto con directorios y archivos.
  • # árbol -s mostrará el tamaño del archivo como se muestra a continuación. Al usar esta opción, imprime el tamaño de los archivos junto con los nombres de los archivos.
# tree -s
.
|-- [       4096]  Articles
|   `-- [       4096]  Tree
|       `-- [       5489]  article
|-- [       4096]  Compression
|   |-- [       2584]  article
|   `-- [       4223]  article.safe
`-- [       4096]  DiskSpace
|-- [        722]  article
`-- [        530]  old_article
4 directories, 5 files
  • # árbol -p mostrará los permisos junto con los archivos. Al usar esta opción, imprime los permisos de los archivos junto con los nombres de los archivos como se muestra a continuación.
# tree -p
.
|-- [drwx------]  Articles
|   `-- [drwx------]  Tree
|       `-- [-rw-------]  article
|-- [drwx------]  Compression
|   |-- [-rw-------]  article
|   `-- [-rw-------]  article.safe
`-- [drwx------]  DiskSpace
|-- [-rw-------]  article
`-- [-rw-------]  old_article

4 directories, 5 files

3. Generar salida HTML desde el comando de árbol

También puede redirigir la salida del comando de árbol a un archivo html como se muestra a continuación usando la opción -H y -o.

# tree -H . -o output.html

 
Definición de la opción -H de la página man:

  • -H baseHREF: Active la salida HTML, incluidas las referencias HTTP. Útil para sitios ftp. baseHREF proporciona la ubicación de ftp base cuando se utiliza la salida HTML. Es decir, el directorio local puede ser `/local/ftp/pub’, pero debe referenciarse como `ftp://hostname.organization.domain/pub’

4. Muestra la salida del árbol según el patrón especificado

Enumere los archivos que coinciden con el patrón usando la opción -P como se muestra a continuación.

Syntax: tree -P PATTERN

$ tree -P *.safe
.
|-- Articles
|   `-- Tree
|-- Compression
|   `-- article.safe
`-- DiskSpace

 
Enumere los archivos que no coinciden con el patrón usando la opción -I como se muestra a continuación.

Syntax: tree -I PATTERN

$ tree -I *.safe
.
|-- Articles
|   `-- Tree
|       `-- article
|-- Compression
|   `-- article
|-- DiskSpace
|   |-- article
|   `-- old_article
`-- t.html

 
Este artículo fue escrito por SathiyaMoorthy, autor de Complemento numbertotext Vim, que reemplazará los números con el texto equivalente dentro de Vim. The Geek Stuff agradece sus consejos y artículos de invitados.


Linux
  1. Linux Eliminar archivos y directorios

  2. Cómo encontrar y eliminar directorios y archivos vacíos en Unix

  3. UNIX/Linux:¿Cuál es el permiso correcto de los directorios /tmp y /var/tmp?

  4. Cómo enumerar recursivamente todos los archivos y directorios

  5. ¿Cuál es el propósito previsto de los directorios de linux/unix de nivel superior y qué deben contener?

Buscar comando en Linux (Buscar archivos y directorios)

Cómo cambiar el nombre de archivos y directorios en Linux

Cómo comprimir archivos y directorios en Linux

Historia de Unix y Linux

Comprimir y archivar archivos y directorios

Encuentre archivos y directorios en Linux fácilmente