GNU/Linux >> LINUX-Kenntnisse >  >> Linux

tree und pstree:Visualisieren Unix-Prozesse und Verzeichnisse in hierarchischer Struktur


Foto mit freundlicher Genehmigung von Steffe

Dieser Artikel wurde von SathiyaMoorthy geschrieben.
 
Mit dem traditionellen ps-Befehl müssen Sie sich die PID und die übergeordnete PID manuell ansehen, um die Abhängigkeiten zwischen den Prozessen zu identifizieren. Manchmal kann es hilfreich sein, die Linux-Prozesse in einem hierarchischen Format anzuzeigen, das die untergeordneten Prozesse unter dem übergeordneten Prozess zeigt. pstree-Befehl (Prozessbaum) zeigt die Prozesse hierarchisch an.
 
Mit dem Befehl ls sehen Sie sich normalerweise den Inhalt einer Verzeichnisstruktur an. Manchmal kann es sehr hilfreich sein, die Verzeichnisstruktur in einer hierarchischen Darstellung anzuzeigen. tree-Befehl (Verzeichnisbaum) zeigt die Verzeichnisstrukturen hierarchisch an.
 
In diesem Artikel lassen Sie uns mit detaillierten Beispielen überprüfen, wie Sie die Prozesse und Verzeichnisse in einem baumartigen Format anzeigen können
 

Ich. Prozessbaum – pstree-Befehl

1. Prozessbaum basierend auf PID anzeigen

Syntax: pstree <PID>

 
Im folgenden Beispiel habe ich die Prozess-ID meines gdm-Prozesses angegeben, die alle untergeordneten Prozesse meines gdm-Prozesses anzeigt. d.h. es zeigt die Xsession, die geöffnete Konsole, Nautilus, SSH und andere Prozesse an, die mit dem gdm-Prozess verknüpft sind.

$ 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. Prozessbaum für einen Benutzer anzeigen

Syntax: pstree <username>

 
Das folgende Beispiel zeigt, dass die Benutzer-ID ramesh sich in die Maschine eingeloggt hat und 3 Shell-Skripte laufen hat und einen vim-Editor geöffnet hat.

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

3. Alle Prozesse in hierarchischer Struktur anzeigen

Syntax: pstree

 
pstree ohne Argument zeigt den gesamten Prozess in hierarchischer Struktur. Bitte beachten Sie, dass unten nur eine Teilausgabe angezeigt wird.

$ 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. An einen Prozess übergebene Befehlszeilenargumente anzeigen

Syntax: pstree -a

 
Verwenden Sie die Option -a wie unten gezeigt, um die Befehlszeilenargumente anzuzeigen, die einem bestimmten Prozess zugeordnet sind.

$ 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. Verzeichnisbaum – Baumbefehl

1. Unterschiedliche Verzeichnisstrukturen anzeigen

  • # Baum / | mehr – Führen Sie diesen Befehl aus, um die Verzeichnisstruktur des gesamten Betriebssystems zu durchsuchen. Typischerweise ist es nicht sinnvoll, einen Baum in der Stammverzeichnisstruktur zu erstellen, es sei denn, Sie befinden sich in einem Lernmodus und möchten die Verzeichnishierarchie von Linux verstehen.
  • # Baum $HOME – Verwenden Sie dies, um den Inhalt der Home-Verzeichnisstruktur zu überprüfen.
  • # Baum PROJEKTVERZEICHNIS – Überprüfen der Verzeichnisstruktur eines Projekts.

2. Ändern der Ausgabe des Baumbefehls.

  • # Baum -d zeigt nur die Verzeichnisse an. D.h. Dateien werden nicht angezeigt.
  • # Baum -a zeigt versteckte Dateien zusammen mit Verzeichnissen und Dateien an.
  • # Baum -s zeigt die Dateigröße wie unten gezeigt an. Bei Verwendung dieser Option wird die Größe der Dateien zusammen mit den Dateinamen ausgegeben.
# 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
  • # Baum -p zeigt die Berechtigungen zusammen mit den Dateien an. Bei Verwendung dieser Option werden die Berechtigungen der Dateien zusammen mit den Dateinamen wie unten gezeigt ausgedruckt.
# 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. HTML-Ausgabe vom Baumbefehl generieren

Sie können die Ausgabe des Baumbefehls auch in eine HTML-Datei umleiten, wie unten gezeigt, indem Sie die Optionen -H und -o verwenden.

# tree -H . -o output.html

 
Definition von Option -H aus der Manpage:

  • -H baseHREF: Aktivieren Sie die HTML-Ausgabe, einschließlich HTTP-Verweise. Nützlich für FTP-Sites. baseHREF gibt den Basis-FTP-Speicherort an, wenn die HTML-Ausgabe verwendet wird. Das heißt, das lokale Verzeichnis kann `/local/ftp/pub’ sein, aber es muss als `ftp://hostname.organization.domain/pub’ referenziert werden

4. Baumausgabe basierend auf dem angegebenen Muster anzeigen

Listen Sie die Dateien auf, die dem Muster entsprechen, indem Sie die Option -P wie unten gezeigt verwenden.

Syntax: tree -P PATTERN

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

 
Listen Sie die Dateien auf, die nicht mit dem Muster übereinstimmen, indem Sie die Option -I wie unten gezeigt verwenden.

Syntax: tree -I PATTERN

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

 
Dieser Artikel wurde von SathiyaMoorthy, Autor von , verfasst numbertotext Vim-Plugin, das die Zahlen durch den entsprechenden Text in Vim ersetzt. The Geek Stuff freut sich über Ihre Tipps und Gastartikel.


Linux
  1. Linux – Standard- und/oder gemeinsame Verzeichnisse auf Unix/Linux-Betriebssystemen?

  2. UNIX/Linux:Was ist die korrekte Berechtigung für die Verzeichnisse /tmp und /var/tmp?

  3. CentOS-Verzeichnisstruktur als Baum?

  4. Bedeutung von Verzeichnissen auf Unix und Unix-ähnlichen Systemen

  5. Finden (und beenden) Sie alte Prozesse

Find-Befehl in Linux (Dateien und Verzeichnisse suchen)

So benennen Sie Dateien und Verzeichnisse in Linux um

So komprimieren Sie Dateien und Verzeichnisse unter Linux

Unix- und Linux-Geschichte

Komprimieren und Archivieren von Dateien und Verzeichnissen

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach