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.