GNU/Linux >> Linux Esercitazione >  >> Linux

tree e pstree:visualizza i processi e le directory Unix nella struttura gerarchica


Foto per gentile concessione di Steffe

Questo articolo è stato scritto da SathiyaMoorthy.
 
Utilizzando il tradizionale comando ps, è necessario esaminare manualmente il PID e il PID padre per identificare le dipendenze tra i processi. A volte può essere utile visualizzare i processi Linux in formato gerarchico mostrando i processi figlio sotto il processo padre. comando pstree (albero di elaborazione) visualizzerà i processi in modo gerarchico.
 
Utilizzando il comando ls, in genere visualizzi il contenuto di una struttura di directory. A volte può essere molto utile visualizzare la struttura della directory in una visualizzazione gerarchica. comando albero (albero delle directory) visualizzerà le strutture delle directory in modo gerarchico.
 
In questo articolo esaminiamo come visualizzare i processi e le directory in formato ad albero con esempi dettagliati
 

Io. Process Tree – comando pstree

1. Visualizza l'albero dei processi in base al PID

Syntax: pstree <PID>

 
Nell'esempio seguente, ho fornito l'id del processo del mio processo gdm, che mostra tutto il processo figlio del mio processo gdm. cioè mostra xsession, il konsole che viene aperto, nautilus, ssh e altri processi associati al processo 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. Visualizza l'albero dei processi per un utente

Syntax: pstree <username>

 
L'esempio seguente indica che l'ID utente ramesh è stato citato in giudizio nella macchina, ha 3 script di shell in esecuzione e ha aperto un editor vim.

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

3. Visualizza tutti i processi nella struttura gerarchica

Syntax: pstree

 
pstree senza argomento visualizzerà tutto il processo in una struttura gerarchica. Tieni presente che di seguito viene mostrato solo l'output parziale.

$ 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. Visualizza gli argomenti della riga di comando forniti a un processo

Syntax: pstree -a

 
Utilizza l'opzione -a come mostrato di seguito, per visualizzare gli argomenti della riga di comando associati a un particolare processo.

$ 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. Directory Tree – comando albero

1. Visualizza diverse strutture di directory

  • # albero / | di più – Eseguire questo comando per sfogliare la struttura delle directory dell'intero sistema operativo. In genere non ha senso fare un albero sulla struttura della directory principale, a meno che tu non sia in una modalità di apprendimento e desideri comprendere la gerarchia di directory di Linux.
  • # albero $HOME – Usalo per effettuare una verifica incrociata del contenuto della struttura della home directory.
  • # albero PROJECT-DIR – Verifica della struttura delle directory di un progetto.

2. Modifica dell'output del comando albero.

  • # albero -d visualizzerà solo le directory. cioè i file non verranno visualizzati.
  • # albero -a visualizzerà i file nascosti insieme a directory e file.
  • # albero -s visualizzerà la dimensione del file come mostrato di seguito. Durante l'utilizzo di questa opzione, stampa la dimensione dei file insieme ai nomi dei file.
# 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
  • # albero -p visualizzerà le autorizzazioni insieme ai file. Durante l'utilizzo di questa opzione, stampa i permessi dei file insieme ai nomi dei file come mostrato di seguito.
# 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. Genera output HTML dal comando ad albero

Puoi anche reindirizzare l'output del comando tree a un file html come mostrato di seguito usando l'opzione -H e -o.

# tree -H . -o output.html

 
Definizione dell'opzione -H dalla pagina man:

  • -H baseHREF: Attiva l'output HTML, inclusi i riferimenti HTTP. Utile per i siti ftp. baseHREF fornisce la posizione ftp di base quando si utilizza l'output HTML. Cioè, la directory locale può essere `/local/ftp/pub', ma deve essere referenziata come `ftp://hostname.organization.domain/pub'

4. Visualizza l'output dell'albero in base al modello specificato

Elenca i file che corrispondono al modello usando l'opzione -P come mostrato di seguito.

Syntax: tree -P PATTERN

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

 
Elenca i file che non corrispondono al modello utilizzando l'opzione -I come mostrato di seguito.

Syntax: tree -I PATTERN

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

 
Questo articolo è stato scritto da SathiyaMoorthy, autore di numbertotext plug-in Vim, che sostituirà i numeri con il testo equivalente all'interno di Vim. The Geek Stuff accoglie con favore i tuoi suggerimenti e gli articoli degli ospiti.


Linux
  1. Linux Elimina file e directory

  2. Qual è lo scopo previsto delle directory linux/unix di primo livello e cosa dovrebbero contenere?

  3. Come ottenere tree -a per ignorare le directory .git?

  4. Significato delle directory su sistemi Unix e Unix like

  5. Trova (e uccidi) i vecchi processi

Trova comando in Linux (Trova file e directory)

Come rinominare file e directory in Linux

Come comprimere file e directory in Linux

Storia di Unix e Linux

Compressione e archiviazione di file e directory

Trova facilmente file e directory su Linux