GNU/Linux >> Znalost Linux >  >> Linux

strom a pstree:Vizualizujte unixové procesy a adresáře v hierarchické struktuře


Foto s laskavým svolením Steffe

Tento článek napsal SathiyaMoorthy.
 
Pomocí tradičního příkazu ps se musíte ručně podívat na PID a Parent PID, abyste identifikovali závislosti mezi procesy. Někdy může být užitečné zobrazit procesy Linuxu v hierarchickém formátu zobrazující podřízené procesy pod nadřazeným procesem. příkaz pstree (strom procesů) zobrazí procesy hierarchicky.
 
Pomocí příkazu ls obvykle zobrazíte obsah adresářové struktury. Někdy může být velmi užitečné zobrazit strukturu adresářů v hierarchickém zobrazení. příkaz stromu (strom adresáře) zobrazí adresářové struktury hierarchicky.
 
V tomto článku si ukážeme, jak zobrazit procesy a adresáře ve stromovém formátu s podrobnými příklady
 

I. Process Tree – příkaz pstree

1. Zobrazit strom procesu na základě PID

Syntax: pstree <PID>

 
V následujícím příkladu jsem uvedl id procesu mého procesu gdm, který zobrazuje všechny podřízené procesy mého procesu gdm. tj. zobrazuje xsession, konsole, která je otevřená, nautilus, ssh a další procesy, které jsou spojeny s procesem 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. Zobrazení stromu procesu pro uživatele

Syntax: pstree <username>

 
Následující příklad ukazuje, že uživatelské jméno ramesh se vložilo do počítače a má spuštěné 3 skripty shellu a otevřel editor vim.

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

3. Zobrazit všechny procesy v hierarchické struktuře

Syntax: pstree

 
pstree bez argumentu zobrazí celý proces v hierarchické struktuře. Upozorňujeme, že níže je zobrazen pouze částečný výstup.

$ 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. Zobrazit argumenty příkazového řádku dané procesu

Syntax: pstree -a

 
Pomocí volby -a, jak je uvedeno níže, zobrazíte argumenty příkazového řádku spojené s konkrétním procesem.

$ 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 – stromový příkaz

1. Zobrazit různé adresářové struktury

  • # strom / | více – Provedením tohoto příkazu můžete procházet adresářovou strukturou celého OS. Obvykle nemá smysl vytvářet strom v kořenové adresářové struktuře, pokud nejste v režimu učení a rádi byste porozuměli hierarchii adresářů Linuxu.
  • # strom $HOME – Toto použijte ke křížovému ověření obsahu struktury domovského adresáře.
  • # tree PROJECT-DIR – Kontrola adresářové struktury projektu.

2. Změna výstupu příkazu stromu.

  • # strom -d zobrazí pouze adresáře. tj. soubory nebudou zobrazeny.
  • # strom -a zobrazí skryté soubory spolu s adresáři a soubory.
  • # strom -s zobrazí velikost souboru, jak je uvedeno níže. Při použití této možnosti vytiskne velikost souborů spolu s názvy souborů.
# 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
  • # strom -p zobrazí oprávnění spolu se soubory. Při použití této možnosti vytiskne oprávnění souborů spolu s názvy souborů, jak je uvedeno níže.
# 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. Vygenerujte HTML výstup z příkazu tree

Můžete také přesměrovat výstup příkazu stromu do html souboru, jak je ukázáno níže, pomocí volby -H a -o.

# tree -H . -o output.html

 
Definice volby -H z manuálové stránky:

  • -H baseHREF: Zapněte výstup HTML, včetně odkazů HTTP. Užitečné pro ftp stránky. baseHREF udává základní umístění ftp při použití výstupu HTML. To znamená, že místní adresář může být `/local/ftp/pub‘, ale musí být odkazován jako `ftp://hostname.organization.domain/pub‘

4. Zobrazit výstup stromu na základě zadaného vzoru

Seznam souborů, které odpovídají vzoru, pomocí volby -P, jak je uvedeno níže.

Syntax: tree -P PATTERN

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

 
Uveďte seznam souborů, které neodpovídají vzoru, pomocí volby -I, jak je uvedeno níže.

Syntax: tree -I PATTERN

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

 
Tento článek napsal SathiyaMoorthy, autor numbertotext Vim plugin, který nahradí čísla ekvivalentním textem uvnitř Vimu. The Geek Stuff uvítá vaše tipy a články pro hosty.


Linux
  1. Linux – standardní a/nebo společné adresáře na operačních systémech Unix/linux?

  2. Linux Odstraňte soubory a adresáře

  3. Jaký je zamýšlený účel adresářů linux/unix nejvyšší úrovně a co by měly obsahovat?

  1. Jak najít a odstranit prázdné adresáře a soubory v Unixu

  2. UNIX / Linux :Jaká je správná oprávnění adresářů /tmp a /var/tmp

  3. Význam adresářů na Unixu a Unixu podobných systémech

  1. Jak rekurzivně vypsat všechny soubory a adresáře

  2. CentOS adresářová struktura jako strom?

  3. unix - hlava A konec souboru