GNU/Linux >> Tutoriels Linux >  >> Linux

tree et pstree :Visualisez les processus et les répertoires Unix dans une structure hiérarchique


Photo publiée avec l'aimable autorisation de Steffe

Cet article est écrit par SathiyaMoorthy.
 
À l'aide de la commande ps traditionnelle, vous devez examiner manuellement le PID et le PID parent pour identifier les dépendances entre les processus. Parfois, il peut être utile d'afficher les processus Linux dans un format hiérarchique montrant les processus enfants sous le processus parent. commande pstree (arborescence de processus) affichera les processus de manière hiérarchique.
 
À l'aide de la commande ls, vous affichez généralement le contenu d'une structure de répertoires. Parfois, il peut être très utile de visualiser la structure des répertoires dans un affichage hiérarchique. commande d'arborescence (arborescence de répertoires) affichera les structures de répertoire de manière hiérarchique.
 
Dans cet article, voyons comment afficher les processus et les répertoires sous forme d'arborescence avec des exemples détaillés
 

Je. Arbre de processus - commande pstree

1. Afficher l'arborescence des processus en fonction du PID

Syntax: pstree <PID>

 
Dans l'exemple suivant, j'ai donné l'id de processus de mon processus gdm, qui affiche tous les processus enfants de mon processus gdm. c'est-à-dire qu'il affiche la xsession, la konsole ouverte, nautilus, ssh et d'autres processus associés au processus 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. Afficher l'arborescence des processus pour un utilisateur

Syntax: pstree <username>

 
L'exemple suivant indique que l'ID utilisateur ramesh s'est su-ed dans la machine, a 3 scripts shell en cours d'exécution et a ouvert un éditeur vim.

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

3. Afficher tous les processus dans une structure hiérarchique

Syntax: pstree

 
pstree sans argument affichera tout le processus dans une structure hiérarchique. Veuillez noter que seule une sortie partielle est affichée ci-dessous.

$ 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. Afficher les arguments de ligne de commande donnés à un processus

Syntax: pstree -a

 
Utilisez l'option -a comme indiqué ci-dessous, pour afficher les arguments de ligne de commande associés à un processus particulier.

$ 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. Arborescence de répertoires - commande d'arborescence

1. Afficher différentes structures de répertoires

  • # arbre / | plus – Exécutez cette commande pour parcourir la structure de répertoires de l'ensemble du système d'exploitation. En règle générale, il n'est pas logique de créer une arborescence sur la structure du répertoire racine, à moins que vous ne soyez en mode d'apprentissage et que vous souhaitiez comprendre la hiérarchie des répertoires de Linux.
  • # arbre $HOME – Utilisez ceci pour vérifier le contenu de la structure du répertoire personnel.
  • # tree PROJECT-DIR – Vérification de la structure des répertoires d'un projet.

2. Modification de la sortie de la commande tree.

  • # arbre -d n'affichera que les répertoires. c'est-à-dire que les fichiers ne seront pas affichés.
  • # arbre -a affichera les fichiers cachés avec les répertoires et les fichiers.
  • # arbre -s affichera la taille du fichier comme indiqué ci-dessous. Lors de l'utilisation de cette option, il imprime la taille des fichiers avec les noms de fichiers.
# 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
  • # arbre -p affichera les autorisations avec les fichiers. Lors de l'utilisation de cette option, il imprime les autorisations des fichiers avec les noms de fichiers comme indiqué ci-dessous.
# 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. Générer une sortie HTML à partir de la commande tree

Vous pouvez également rediriger la sortie de la commande tree vers un fichier html comme indiqué ci-dessous à l'aide de l'option -H et -o.

# tree -H . -o output.html

 
Définition de l'option -H de la page de manuel :

  • -H baseHREF : Activez la sortie HTML, y compris les références HTTP. Utile pour les sites ftp. baseHREF donne l'emplacement ftp de base lors de l'utilisation de la sortie HTML. Autrement dit, le répertoire local peut être `/local/ftp/pub', mais il doit être référencé comme `ftp://hostname.organization.domain/pub'

4. Afficher la sortie de l'arborescence en fonction du modèle spécifié

Listez les fichiers qui correspondent au modèle en utilisant l'option -P comme indiqué ci-dessous.

Syntax: tree -P PATTERN

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

 
Listez les fichiers qui ne correspondent pas au modèle en utilisant l'option -I comme indiqué ci-dessous.

Syntax: tree -I PATTERN

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

 
Cet article a été écrit par SathiyaMoorthy, auteur de plugin numbertotext Vim, qui remplacera les nombres par le texte équivalent dans Vim. The Geek Stuff accueille vos conseils et articles invités.


Linux
  1. Linux – Répertoires standard et/ou communs sur les systèmes Unix/linux ?

  2. Comment lister récursivement tous les fichiers et répertoires

  3. Structure du répertoire CentOS sous forme d'arborescence ?

  4. unix - début ET fin du fichier

  5. Quel est l'objectif des répertoires Linux/Unix de niveau supérieur et que doivent-ils contenir ?

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

Comment renommer des fichiers et des répertoires sous Linux

Comment compresser des fichiers et des répertoires sous Linux

Histoire Unix et Linux

Compresser et archiver des fichiers et des répertoires

Trouvez facilement des fichiers et des répertoires sur Linux