Linux Professional Institute Learning Logo.
Weiter zum Inhalt
  • Home
    • Alle Ressourcen
    • LPI Lernmaterialien
    • Mitmachen
    • Publishing Partner
    • Publishing Partner werden
    • Über uns
    • FAQ
    • Mitwirkende
    • Roadmap
    • Kontakt
  • LPI.org
103.5 Lektion 2
Thema 101: Systemarchitektur
101.1 Hardwareeinstellungen ermitteln und konfigurieren
  • 101.1 Lektion 1
101.2 Das System starten
  • 101.2 Lektion 1
101.3 Runlevel wechseln und das System anhalten oder neu starten
  • 101.3 Lektion 1
Thema 102: Linux-Installation und -Paketverwaltung
102.1 Festplattenaufteilung planen
  • 102.1 Lektion 1
102.2 Einen Bootmanager installieren
  • 102.2 Lektion 1
102.3 Shared Libraries verwalten
  • 102.3 Lektion 1
102.4 Debian-Paketverwaltung verwenden
  • 102.4 Lektion 1
102.5 RPM und YUM-Paketverwaltung verwenden
  • 102.5 Lektion 1
102.6 Linux als Virtualisierungs-Gast
  • 102.6 Lektion 1
Thema 103: GNU- und Unix-Befehle
103.1 Auf der Befehlszeile arbeiten
  • 103.1 Lektion 1
  • 103.1 Lektion 2
103.2 Textströme mit Filtern verarbeiten
  • 103.2 Lektion 1
103.3 Grundlegende Dateiverwaltung
  • 103.3 Lektion 1
  • 103.3 Lektion 2
103.4 Ströme, Pipes und Umleitungen verwenden
  • 103.4 Lektion 1
  • 103.4 Lektion 2
103.5 Prozesse erzeugen, überwachen und beenden
  • 103.5 Lektion 1
  • 103.5 Lektion 2
103.6 Prozess-Ausführungsprioritäten ändern
  • 103.6 Lektion 1
103.7 Textdateien mit regulären Ausdrücken durchsuchen
  • 103.7 Lektion 1
  • 103.7 Lektion 2
103.8 Grundlegendes Editieren von Dateien
  • 103.8 Lektion 1
Thema 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard
104.1 Partitionen und Dateisysteme anlegen
  • 104.1 Lektion 1
104.2 Die Integrität von Dateisystemen sichern
  • 104.2 Lektion 1
104.3 Das Mounten und Unmounten von Dateisystemen steuern
  • 104.3 Lektion 1
104.5 Dateizugriffsrechte und -eigentümerschaft verwalten
  • 104.5 Lektion 1
104.6 Symbolische und Hardlinks anlegen und ändern
  • 104.6 Lektion 1
104.7 Systemdateien finden und Dateien am richtigen Ort plazieren
  • 104.7 Lektion 1
How to get certified
  1. Thema 103: GNU- und Unix-Befehle
  2. 103.5 Prozesse erzeugen, überwachen und beenden
  3. 103.5 Lektion 2

103.5 Lektion 2

Zertifikat:

LPIC-1

Version:

5.0

Thema:

103 GNU- und Unix-Befehle

Lernziel:

103.5 Prozesse erzeugen, überwachen und beenden

Lektion:

2 von 2

Einführung

Die in der vorhergehenden Lektion vorgestellten Werkzeuge und Hilfsmittel sind für die Prozessüberwachung im Allgemeinen sehr nützlich. Ein Systemadministrator muss jedoch unter Umständen noch einen Schritt weiter gehen. In dieser Lektion werden wir das Konzept der Terminalmultiplexer besprechen und auf GNU Screen sowie tmux eingehen, da — trotz der heutigen modernen und großartigen Terminalemulatoren — Multiplexer immer noch einige coole, leistungsstarke Funktionen für einen produktiven Systemadministrator bereithalten.

Merkmale von Terminalmultiplexern

In der Elektronik ist ein Multiplexer (oder mux) ein Gerät, das den Anschluss mehrerer Eingänge an einen einzigen Ausgang ermöglicht. So gibt uns ein Terminalmultiplexer die Möglichkeit, je nach Bedarf zwischen verschiedenen Eingängen umzuschalten. Obwohl sie nicht genau gleich sind, haben screen und tmux eine Reihe von Gemeinsamkeiten:

  • Jeder erfolgreiche Aufruf führt zu mindestens einer Sitzung, die wiederum mindestens ein Fenster enthält. Fenster enthalten Programme.

  • Fenster können in Regionen oder Fensterbereiche aufgeteilt werden, dies kann die Produktivität bei der gleichzeitigen Arbeit mit verschiedenen Programmen steigern.

  • Einfache Steuerung: Um die meisten Befehle auszuführen, werden Tastenkombination verwendet — das sogenannte Befehlspräfix oder die Befehlstaste — gefolgt von einem weiteren Zeichen.

  • Sitzungen können von ihrem aktuellen Terminal getrennt werden (d.h. Programme werden in den Hintergrund geschickt und laufen weiter). Dies garantiert die vollständige Ausführung von Programmen, unabhängig davon, ob wir versehentlich ein Terminal schließen, ein gelegentliches Einfrieren des Terminals oder sogar einen Verbindungsabbruch erleiden.

  • Socketverbindung.

  • Kopiermodus.

  • Sie sind in hohem Maße anpassbar.

GNU Screen

In den frühen Tagen von Unix (1970er - 80er Jahre) bestanden Computer im Wesentlichen aus Terminals, die mit einem Zentralrechner verbunden waren. Das war alles, keine mehreren Fenster oder Registerkarten. Und das war der Grund für die Schaffung von GNU Screen im Jahr 1987: die Emulation mehrerer unabhängiger VT100-Bildschirme auf einem einzigen physischen Terminal.

Fenster

GNU Screen wird einfach durch Eingabe von screen in das Terminal aufgerufen. Wir sehen zunächst folgende Begrüßungsnachricht:

GNU Screen version 4.05.00 (GNU) 10-Dec-16

Copyright (c) 2010 Juergen Weigert, Sadrul Habib Chowdhury
Copyright (c) 2008, 2009 Juergen Weigert, Michael Schroeder, Micah Cowan, Sadrul Habib Chowdhury
Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 Juergen Weigert, Michael Schroeder
Copyright (c) 1987 Oliver Laumann
(...)

Drücken wir die Leertaste oder die Eingabetaste, um die Meldung zu schließen, und es erscheint eine Eingabeaufforderung:

$

Es mag den Anschein haben, als sei nichts geschehen, aber Tatsache ist, dass screen bereits seine erste Sitzung und sein erstes Fenster erstellt und verwaltet hat. Das Befehlspräfix von screen lautet Strg+a. Um alle Fenster am unteren Rand der Terminalanzeige zu sehen, geben Sie Strg+a-w ein:

0*$ bash

Da ist es, unser bisher einziges Fenster! Beachten Sie jedoch, dass die Zählweise bei 0 beginnt. Um ein weiteres Fenster zu erstellen, geben Sie Strg+a-c ein. Sie werden eine neue Eingabeaufforderung sehen. Lassen Sie uns ps in diesem neuen Fenster starten:

$ ps
  PID TTY          TIME CMD
  974 pts/2    00:00:00 bash
  981 pts/2    00:00:00 ps

und geben Sie erneut Strg+a-w ein:

0-$ bash  1*$ bash

Dort haben wir unsere beiden Fenster (beachten Sie das Sternchen, das auf den gerade angezeigte Fenster hinweist). Da diese jedoch von Bash gestartet wurden, haben beide den gleichen Namen. Da wir ps in unserem aktuellen Fenster aufgerufen haben, benennen wir es mit dem gleichen Namen um. Dazu müssen Sie Strg+a-A eingeben und den neuen Fensternamen (ps) eingeben, wenn Sie dazu aufgefordert werden:

Set window's title to: ps

Lassen Sie uns nun ein weiteres Fenster erstellen, aber geben Sie ihm von Anfang an einen Namen: yetanotherwindow. Dies geschieht durch Aufruf von screen mit dem Schalter -t:

$ screen -t yetanotherwindow

Sie können sich auf verschiedene Weise zwischen den Fenstern bewegen:

  • Durch Verwendung von Strg+a-n (zum nächsten Fenster gehen) und Strg+a-p (zum vorherigen Fenster gehen).

  • Durch Verwendung von Strg+a-Nummer (gehen Sie zu Fensternummer Nummer).

  • Durch Verwendung von Strg+a-" wird eine Liste aller Fenster angezeigt. Sie können sich mit den Pfeiltasten nach oben und unten bewegen und das gewünschte Fenster mit Enter auswählen:

    Num Name                                                Flags
    
       0 bash                                                   $
       1 ps                                                     $
       2 yetanotherwindow

Bei der Arbeit mit Fenstern ist es wichtig Folgendes zu beachten:

  • Fenster führen ihre Programme völlig unabhängig voneinander aus.

  • Programme laufen auch dann weiter, wenn ihr Fenster nicht sichtbar ist (auch wenn eine screen Sitzung losgelöst wird, wie wir in Kürze sehen werden).

Um ein Fenster zu entfernen, beenden Sie einfach das darin laufende Programm (sobald das letzte Fenster entfernt ist, wird screen selbst beendet). Alternativ können Sie Strg+a-k benutzen, während Sie sich in dem Fenster befinden, das Sie beenden möchten; Sie werden daraufhin um Bestätigung gebeten:

Really kill this window [y/n]

Window 0 (bash) killed.

Regionen

screen kann einen Terminalbildschirm in mehrere Regionen unterteilen, in denen Fenster untergebracht werden können. Diese Unterteilungen können entweder horizontal (Strg+a-S) oder vertikal (Strg+a-|) erfolgen.

Das Einzige, was die neue Region zeigen wird, ist nur -- am unteren Rand, was bedeutet, dass diese leer ist:

   1 ps                                                               --

Um in die neue Region zu wechseln, geben Sie Strg+a-Tab ein. Jetzt können Sie ein Fenster mit einer der Methoden hinzufügen, die wir bereits gesehen haben, zum Beispiel: Strg+a-2. Aus dem -- sollte jetzt 2 yetanotherwindow geworden sein:

$ ps                                                  $
  PID TTY          TIME CMD
 1020 pts/2    00:00:00 bash
 1033 pts/2    00:00:00 ps
$ screen -t yetanotherwindow




   1 ps                                                                2 yetanotherwindow

Wichtige Aspekte, die bei der Arbeit mit Regionen zu beachten sind:

  • Sie wechseln zwischen Regionen, indem Sie Strg+a-Tab eingeben.

  • Sie können alle Regionen außer der aktuellen mit Strg+a-Q beenden.

  • Sie können die aktuelle Region mit Strg+a-X beenden.

  • Das Beenden einer Region beendet nicht das zugehörige Fenster.

Sitzungen

Bisher haben wir mit einigen wenigen Fenstern und Regionen gespielt, die aber alle zur selben und einzigen Sitzung gehörten. Es ist an der Zeit, mit Sitzungen zu experimentieren. Um eine Liste aller Sitzungen zu sehen, geben Sie screen -list oder screen -ls ein:

$ screen -list
There is a screen on:
        1037.pts-0.debian       (08/24/19 13:53:35)     (Attached)
1 Socket in /run/screen/S-carol.

Das ist bisher unsere einzige Sitzung:

PID

1037

Name

pts-0.debian (mit Angabe des Terminals — in unserem Fall ein Pseudo-Terminal-Slave — und des Hostname).

Status

Attached

Lassen Sie uns eine neue Sitzung erstellen und ihr einen aussagekräftigeren Namen geben:

$ screen -S "second session"

Die Terminalanzeige wird gelöscht und Sie erhalten eine neue Eingabeaufforderung. Sie können erneut nach Sitzungen suchen:

$ screen -ls
There are screens on:
        1090.second session     (08/24/19 14:38:35)     (Attached)
        1037.pts-0.debian       (08/24/19 13:53:36)     (Attached)
2 Sockets in /run/screen/S-carol.

Um eine Sitzung zu beenden, beenden Sie alle Fenster der entsprechenden Sitzung oder geben Sie einfach den Befehl screen -S SESSION-PID -X quit ein (Sie können stattdessen auch den Sitzungsnamen angeben). Lassen Sie uns unsere erste Sitzung beenden:

$ screen -S 1037 -X quit

Sie werden auf die Eingabeaufforderung Ihres Terminals außerhalb von screen zurückgeschickt. Aber denken Sie daran, unsere zweite Sitzung ist immer noch aktiv:

$ screen -ls
There is a screen on:
	1090.second session	(08/24/19 14:38:35)	(Detached)
1 Socket in /run/screen/S-carol.

Da wir jedoch seine Elternsitzung beendet haben, erhält die Sitzung die neue Beschriftung: Detached.

Abtrennung einer Sitzung

Aus einer Reihe von Gründen kann es sinnvoll sein, eine Bildschirmsitzung von ihrem Terminal zu trennen:

  • Um Ihren Computer am Arbeitsplatz seine Aufgaben machen zu lassen und später von zu Hause aus eine Fernverbindung herzustellen.

  • Um eine Sitzung für andere Benutzer freizugeben.

Sie trennen eine Sitzung mit der Tastenkombination Strg+a-d. Sie werden wieder in Ihr Terminal zurück geschickt:

[detached from 1090.second session]
$

Um die Sitzung wieder anzuhängen, verwenden Sie den Befehl screen -r SESSION-PID. Alternativ können Sie den SESSION-NAME verwenden, welchen wir oben benutzt haben. Wenn es nur eine abgetrennte Sitzung gibt, ist keines von beiden notwendig:

$ screen -r

Dieser Befehl reicht aus, um wieder an unserer zweiten Sitzung teilzunehmen:

$ screen -ls
There is a screen on:
        1090.second session      (08/24/19 14:38:35)     (Attached)
1 Socket in /run/screen/S-carol.

Wichtige Optionen für die Wiederaufnahme von Sitzung sind:

-d -r

Fügt eine Sitzung wieder an und — falls erforderlich — löst diese zuerst ab.

-d -R

Dasselbe wie -d -r, aber screen wird die Sitzung sogar zuerst erzeugen, wenn diese nicht bereits existiert.

-d -RR

Dasselbe wie -d -R. Verwendet jedoch die erste Sitzung, wenn mehr als eine Sitzung verfügbar ist.

-D -r

Eine Sitzung wieder anhängen. Falls erforderlich, wird diese abgelöst und bestehende Fernverbindungen getrennt.

-D -R

Wenn eine Sitzung läuft, dann wird diese erneut verbunden (ggf. vorher aus der Ferne abgelöst und abgemeldet). Wenn keine Sitzung läuft, wird eine Neue erstellt und der Benutzer benachrichtigt.

-D -RR

Dasselbe wie -D -R — nur stärker.

-d -m

Startet screen im abgekoppelten Modus. Dies erzeugt eine neue Sitzung, welche aber nirgends angehängt ist. Dies ist nützlich für Skripte zum Systemstart.

-D -m

Dasselbe wie -d -m, aber es wird kein neuer Prozess erzeugt. Der Befehl wird beendet, sobald die Sitzung beendet wird.

Lesen Sie die Handbuchseiten für screen, um mehr über seine Optionen zu erfahren.

Kopieren und Einfügen: Scrollback-Modus

GNU Screen bietet einen Kopier- oder Scrollback-Modus. Einmal eingegeben, können Sie den Cursor mit den Pfeiltasten im aktuellen Fenster und durch den Inhalt seiner Historie bewegen. Sie können Text markieren und fensterübergreifend kopieren. Die folgenden Schritte sind dazu notwendig:

  1. Kopier-/Scrollback-Modus aufrufen: Strg+a-[.

  2. Gehen Sie mit den Pfeiltasten an den Anfang des Textes, den Sie kopieren möchten.

  3. Markieren Sie den Anfang des Textes, den Sie kopieren möchten: Leerzeichen.

  4. Bewegen Sie sich nun mit den Pfeiltasten an das Ende des Textes, den Sie kopieren möchten.

  5. Markieren Sie das Ende des Textes, den Sie kopieren möchten: Leerzeichen.

  6. Gehen Sie in das Fenster Ihrer Wahl und fügen Sie den Text ein: Strg+a-].

Anpassung des Bildschirms

Die systemweite Konfigurationsdatei für screen ist /etc/screenrc. Alternativ kann eine Benutzerebene ~/.screenrc verwendet werden. Die Datei enthält vier Hauptkonfigurationsabschnitte:

SCREEN SETTINGS

Sie können allgemeine Einstellungen definieren, indem Sie die Direktive gefolgt von einem Leerzeichen und dem Wert wie in defscrollback 1024 eingeben.

SCREEN KEYBINDINGS

Dieser Abschnitt ist recht interessant, da er es uns ermöglicht, Tastenkombinationen neu zu definieren, die Ihren täglichen Gebrauch des Terminals stören könnten. Verwenden Sie das Schlüsselwort bind, gefolgt von einem Leerzeichen, dem Zeichen, das nach dem Befehlspräfix zu verwenden ist, einem weiteren Leerzeichen und dem Befehl wie in: bind l kill (diese Einstellung ändert die Standardmethode zum Beenden eines Fensters in Strg+a-l).

Um alle screen-Einbindungen anzuzeigen, geben wir Strg+a-? ein oder schlagen in den betreffenden Handbuchseiten nach.

Tip

Natürlich können Sie auch das Befehlspräfix selbst ändern. Um zum Beispiel von Strg+a zu Strg+b zu wechseln, fügen Sie einfach diese Zeile hinzu: escape ^Bb.

TERMINAL SETTINGS

Dieser Abschnitt enthält u.a. Einstellungen in Bezug auf Terminalfenstergrößen und -puffer. Um den Nichtblockierungsmodus zu aktivieren, um z.B. mit instabilen ssh-Verbindungen besser umgehen zu können, wird die folgende Konfiguration verwendet: defnonblock 5.

STARTUP SCREENS

Sie können Befehle einschließen, um verschiedene Programme beim Start von screen auszuführen; zum Beispiel: screen -t top top (screen wird beim Starten ein Fenster namens top mit top darin öffnen).

tmux

tmux wurde 2007 veröffentlicht. Obwohl es screen sehr ähnlich ist, weist es einige nennenswerte Unterschiede auf:

  • Client-Server Modell: Der Server liefert eine Anzahl von Sitzungen, von denen jede eine Anzahl von Fenstern aufweist, die mit ihr verbunden sind und die wiederum von verschiedenen Clients gemeinsam genutzt werden können.

  • Interaktive Auswahl von Sitzungen, Fenstern und Clients über Menüs.

  • Dasselbe Fenster kann mit einer Reihe von Sitzungen verknüpft werden.

  • Verfügbarkeit von sowohl vim als auch Emacs Tastenlayouts.

  • Unterstützung für UTF-8 und Terminals mit 256 Farben.

Fenster

tmux kann einfach durch Eingabe von tmux in der Eingabeaufforderung aufgerufen werden. Es werden dazu ein Shellprompt und eine Statusleiste am unteren Rand des Fensters angezeigt:

[0] 0:bash*                                                        "debian" 18:53 27-Aug-19

Neben dem hostname, der Uhrzeit und dem Datum enthält die Statusleiste die folgenden Informationen:

Name der Sitzung

[0]

Fensternummer

0:

Name des Fensters

bash*. Standardmäßig ist dies der Name des Programms, das innerhalb des Fensters läuft, und — anders als bei screen — aktualisiert tmux diesen automatisch, um das aktuell laufende Programm wiederzugeben. Beachten Sie das Sternchen, welches das aktuell sichtbare Fenster markiert.

Beim Aufruf von tmux können Sie Sitzungs- und Fensternamen zuweisen:

$ tmux new -s "LPI" -n "Window zero"

Die Statusleiste ändert sich entsprechend:

[LPI] 0:Window zero*                                                 "debian" 19:01 27-Aug-19

Das Befehlspräfix von tmux lautet Strg+b. Um ein neues Fenster zu erstellen, geben Sie einfach Strg+b-c ein; Sie werden zu einer neuen Eingabeaufforderung geführt und die Statusleiste zeigt das neue Fenster an:

[LPI] 0:Window zero- 1:bash*                                         "debian" 19:02 27-Aug-19

Da die Bash die zugrunde liegende Shell ist, erhält das neue Fenster standardmäßig diesen Namen. Starten Sie top und sehen Sie, wie sich der Name in top ändert:

[LPI] 0:Window zero- 1:top*                                         "debian" 19:03 27-Aug-19

In jedem Fall können Sie ein Fenster mit Strg+b-, umbenennen. Wenn Sie dazu aufgefordert werden, geben Sie den neuen Namen ein und drücken Enter:

(rename-window) Window one

Mit Strg+b-w können Sie sich alle Fenster zur Auswahl anzeigen lassen (benutzen Sie die Pfeiltasten zum Auf- und Abbewegen und Enter zur Auswahl):

(0)  0: Window zero- "debian"
(1)  1: Window one* "debian"

Ähnlich wie bei screen können wir von einem Fenster zum Anderen springen:

Strg+b-n

zum nächsten Fenster wechseln.

Strg+b-p

zum vorherigen Fenster springen.

Strg+b-Nummer

zu Fensternummer Nummer wechseln.

Um ein Fenster zu beenden, verwenden wir Strg+b-&. Gefolgt von einer Bestätigung:

kill-window Window one? (y/n)

Weitere interessante Fensterbefehle sind:

Strg+b-f

Fenster suchen per Namen.

Strg+b-.

Fensterindexnummer ändern.

Um die gesamte Liste der Befehle zu lesen, siehe die entsprechenden Handbuchseiten.

Fensterbereiche

Die fensteraufteilende Funktion von screen ist auch in tmux vorhanden. Die daraus resultierenden Unterteilungen werden allerdings nicht Regionen, sondern Fensterbereiche genannt. Der wichtigste Unterschied zwischen Regionen und Fensterbreichen ist, dass letztere vollständige Pseudoterminals sind, die mit einem Fenster verbunden sind. Das bedeutet, dass das Beenden eines Fensters auch dessen Pseudoterminal und alle damit verbundenen Programme beendet, die darin laufen.

Um ein Fenster horizontal zu teilen, verwenden wir Strg+b-":

Tasks:  93 total,   1 running,  92 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4050960 total,  3730920 free,   114880 used,   205160 buff/cache
KiB Swap:  4192252 total,  4192252 free,        0 used.  3716004 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1340 carol     20   0   44876   3400   2800 R  0.3  0.1   0:00.24 top
    1 root      20   0  139088   6988   5264 S  0.0  0.2   0:00.50 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.04 ksoftirqd/0
    4 root      20   0       0      0      0 S  0.0  0.0   0:01.62 kworker/0:0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      20   0       0      0      0 S  0.0  0.0   0:00.06 rcu_sched
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.01 watchdog/0
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 cpuhp/0
$
───────────────────────────────────────────────────────────────────────────────────────────────
$












[LPI] 0:Window zero- 1:Window one*                                      "debian" 19:05 27-Aug-19

Um sie vertikal zu teilen, verwenden Sie Strg+b-%:

                                                                               │$
    1 root      20   0  139088   6988   5264 S  0.0  0.2   0:00.50 systemd     │
                                                                               │
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd    │
                                                                               │
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.04 ksoftirqd/0 │
    4 root      20   0       0      0      0 S  0.0  0.0   0:01.62 kworker/0:0 │
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H│
    7 root      20   0       0      0      0 S  0.0  0.0   0:00.06 rcu_sched   │
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh      │
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0 │
                                                                               │
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drai│
n                                                                              │
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.01 watchdog/0  │
                                                                               │
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 cpuhp/0     │
                                                                               │
$                                                                              │
───────────────────────────────────────────────────────────────────────────────┴───────────────
$















[LPI] 0:Window zero- 1:Window one*                                      "debian" 19:05 27-Aug-19

Um den aktuellen Fensterbereich zu beenden (zusammen mit seinem Pseudoterminal, das darin läuft und allen zugehörigen Programmen), verwenden wir Strg+b-x. Anschließend werden wir in der Statusleiste um eine Bestätigung gebeten:

kill-pane 1? (y/n)

Wichtige Fensterbereichbefehle:

Strg+b-↑,↓,←,→

zwischen den Fensterbereichen wechseln.

Strg+b-;

zum letzten aktiven Fensterbereich wechseln.

Strg+b-Strg+Pfeiltaste

Fenstergröße um eine Zeile ändern.

Strg+b-Alt+Pfeiltaste

Fenstergröße um fünf Zeilen ändern.

Strg+b-{

Fensterbereich wechseln (vom Aktuellen zum Vorherigen).

Strg+b-}

Fensterbereich wechseln (vom Aktuellen zum Nächsten).

Strg+b-z

Bereich vergrößern/verkleinern.

Strg+b-t

tmux zeigt eine schicke Uhr innerhalb der Scheibe an (durch Drücken von q wird sie ausgeschaltet).

Strg+b-!

Fensterbereich in Fenster verwandeln.

Um die gesamte Liste der Befehle zu lesen, siehe die entsprechenden Handbuchseiten.

Sitzungen

Um Sitzungen in tmux aufzulisten, können Sie Strg+b-s verwenden:

(0) + LPI: 2 windows (attached)

Alternativ können Sie den Befehl tmux ls verwenden:

$ tmux ls
LPI: 2 windows (created Tue Aug 27 19:01:49 2019) [158x39] (attached)

Es gibt nur eine Sitzung (LPI), die zwei Fenster enthält. Lassen Sie uns eine neue Sitzung innerhalb unserer aktuellen Sitzung erstellen. Dies kann durch die Verwendung von Strg+b erreicht werden. Geben Sie in der Eingabeaufforderung :new ein und drücken Sie dann die Eingabetaste. Sie werden zu der neuen Sitzung geschickt, wie in der Statusleiste zu sehen ist:

[2] 0:bash*                                                       "debian" 19:15 27-Aug-19

Standardmäßig nennt tmux die Sitzung 2. Um diese umzubenennen, verwenden wir Strg+b-$. Wenn dazu aufgefordert, geben wir den neuen Namen ein und bestätigen diesen mit Enter:

(rename-session) Second Session

Sie können Sitzungen mit Strg+b-s wechseln (verwenden Sie die Pfeiltasten und Enter):

(0) + LPI: 2 windows
(1) + Second Session: 1 windows (attached)

Um eine Sitzung zu beenden, können Sie den Befehl tmux kill-session -t SESSION-NAME verwenden. Wenn Sie den Befehl innerhalb der aktuellen, angehängten Sitzung eingeben, werden Sie aus tmux herausgeworfen und zu Ihrer anfänglichen Terminalsitzung zurückgeschickt:

$ tmux kill-session -t "Second Session"
[exited]
$

Abtrennung von Sitzungen

Durch das Beenden von Second Session wurden wir aus tmux herausgeworfen. Wir haben jedoch immer noch eine aktive Sitzung. Fragen wir tmux nach einer Auflistung der Sitzungen werden wir diese wie folgt finden:

$ tmux ls
LPI: 2 windows (created Tue Aug 27 19:01:49 2019) [158x39]

Diese Sitzung ist jedoch vom Terminal losgelöst. Wir können sie mit tmux attach -t SESSION-NAME anhängen (attach kann durch at oder — einfach — a ersetzt werden). Wenn es nur eine einzige Sitzung gibt, ist die Angabe eines Namens optional:

$ tmux a

Wir befinden uns nun wieder in unserer Sitzung; um sich von ihr abzulösen, drücken wir Strg+b-d:

[detached (from session LPI)]
$
Tip

Dieselbe Sitzung kann mit mehr als einem Terminal verbunden werden. Soll eine Sitzung angehängt werden, stellen Sie sicher, dass sie zunächst von allen anderen Terminals getrennt ist, verwenden Sie dann die Option -d: tmux attach -d -t SESSION-NAME.

Wichtige Befehle für das Anhängen/Lösen von Sitzungen:

Strg+b-D

Auswahl, welcher Client abgetrennt werden soll.

Strg+b-r

Aktualisiert das Clientterminal.

Um die gesamte Liste der Befehle zu lesen, siehe die entsprechenden Handbuchseiten.

Kopieren und Einfügen: Scrollback-Modus

tmux verfügt auch über einen Kopiermodus, im Prinzip auf die gleiche Weise wie screen (denken Sie daran, das Befehlspräfix von tmux und nicht das von screen zu verwenden!) Der einzige Unterschied in der Befehlsweise besteht darin, dass nun Strg + Leertaste verwendt wird, um den Anfang der Auswahl zu markieren, und Alt+w, um den ausgewählten Text zu kopieren.

Anpassung von tmux

Die Konfigurationsdateien für tmux befinden sich typischerweise unter /etc/tmux.conf und ~/.tmux.conf. Wenn tmux gestartet wird, wertet tmux diese Dateien aus, falls diese existieren. Es besteht auch die Möglichkeit, tmux mit dem Schalter -f zu starten, um eine alternative Konfigurationsdatei bereitzustellen. Ein Beispiel für eine Konfigurationsdatei von tmux finden Sie unter /usr/share/doc/tmux/example_tmux.conf. Der Grad der Anpassung, den Sie erreichen können, ist wahrhaftig hoch. Einige der Dinge, die Sie tun können, sind:

  • Ändern Sie die Präfixkombination

    # Change the prefix key to C-a
    set -g prefix C-a
    unbind C-b
    bind C-a send-prefix
  • Setzen Sie zusätzliche Tastenkombinationen für Fensternummern höher als 9

    # Some extra key bindings to select higher numbered windows
    bind F1 selectw -t:10
    bind F2 selectw -t:11
    bind F3 selectw -t:12

Für eine umfassende Liste aller Bindungen geben Sie Strg+b-? ein (drücken Sie q zum Beenden) oder konsultieren Sie die Handbuchseite.

Geführte Übungen

  1. Geben Sie an, ob die folgenden Aussagen/Merkmale mit GNU Screen, tmux oder beiden übereinstimmen:

    Feature/Statement GNU Screen tmux

    Standard-Befehlspräfix lautet Strg+a

    Client-Server Modell

    Fensterbereiche sind Pseudoterminals

    Beenden einer Region schließt nicht die zugehörigen Fenster

    Sitzungen umfassen Fenster

    Sitzungen können abgetrennt werden

  2. Installieren Sie GNU Screen auf Ihrem Computer (Paketname: screen) und führen Sie die folgenden Aufgaben aus:

    • Starten Sie das Programm. Welchen Befehl verwenden Sie?

    • Start Sie top:

    • Öffnen Sie mit dem Befehlspräfix von screen ein neues Fenster; öffnen Sie anschließend /etc/screenrc mittels vi:

    • Listen Sie die Fenster am unteren Rand des Bildschirms auf:

    • Ändern Sie den Namen des aktuellen Fensters in vi:

    • Ändern Sie den Namen des verbleibenden Fensters in top. Zeigen Sie dazu eine Liste aller Fenster an, so dass Sie nach oben und unten scrollen und das richtige Fenster auswählen können:

    • Prüfen Sie, ob sich die Namen geändert haben, indem Sie die Fensternamen erneut am unteren Bildschirmrand anzeigen lassen:

    • Trennen Sie nun die Sitzung und lassen Sie screen eine neue Sitzung mit dem Namen ssh erstellen:

    • Lösen Sie nun auch die Sitzung ssh ab und lassen Sie sich von screen eine Liste aller Sitzungen anzeigen:

    • Fügen Sie nun die erste Sitzung unter Verwendung der PID an:

    • Sie sollten wieder in dem Fenster sein, das top anzeigt. Teilen Sie das Fenster horizontal und wechseln Sie in die neue leere Region:

    • Lassen Sie screen alle Fenster auflisten und wählen Sie vi, um in der neuen leeren Region angezeigt zu werden:

    • Teilen Sie nun die aktuelle Region vertikal auf, gehen Sie in die neu erstellte leere Region und verbinden Sie diese mit einem brandneuen Fenster:

    • Beenden Sie alle Regionen mit Ausnahme der aktuellen (denken Sie daran, dass die Fenster trotz des Beendens der Regionen immer noch aktiv sind). Beenden Sie dann alle Fenster der aktuellen Sitzung, bis die Sitzung selbst beendet ist:

    • Führen Sie anschließend die Auflistung der Sitzungen von screen erneut durch, beenden Sie die verbleibende Sitzung von ssh per PID und prüfen Sie, ob tatsächlich keine Sitzungen mehr übrig sind:

  3. Installieren Sie tmux auf Ihrem Computer (Paketname: tmux) und führen Sie die folgenden Aufgaben aus:

    • Starten Sie das Programm. Welchen Befehl verwenden Sie?

    • Starten Sie top (beachten Sie, wie sich — in ein paar Sekunden — der Name des Fensters in der Statusleiste in top ändert):

    • Öffnen Sie unter Verwendung des Befehlspräfixes von tmux ein neues Fenster; öffnen Sie ~/.tmux.conf unter Verwendung von nano:

    • Teilen Sie das Fenster vertikal und verkleinern Sie die Größe des neu erstellten Fensters einige Male:

    • Ändern Sie nun den Namen des aktuellen Fensters in Textbearbeitung; lassen Sie dann tmux eine Liste mit all seinen Sitzungen anzeigen:

    • Gehen Sie mit der gleichen Tastenkombination in das Fenster, in dem top läuft und zurück in das aktuelle Fenster:

    • Lösen Sie sich von der aktuellen Sitzung und erstellen Sie eine neue, deren Name ssh und deren Fenstername ssh window lautet:

    • Lösen Sie sich nun auch von der ssh Sitzung und lassen Sie tmux die Liste der Sitzungen erneut anzeigen:

      Note

      Von diesem Punkt an erfordert die Übung, dass Sie eine fernverbundene Maschine für ssh Verbindungen von Ihrem lokalen Host aus erreichen können (eine virtuelle Maschine ist vollkommen ausreichend und kann sich als durchaus praktisch erweisen). Stellen Sie sicher, dass auf Ihrem lokalen Rechner ein openssh-server installiert ist und läuft sowie auf dem entfernten Rechner mindestens der openssh-client installiert ist.

    • Starten Sie nun den entfernten Rechner und verbinden Sie sich über ssh von Ihrem lokalen Host aus. Sobald die Verbindung hergestellt ist, überprüfen Sie, ob Sitzungen von tmux vorhanden sind:

    • Fügen Sie nun, auf dem entfernten Rechner, die ssh-Sitzung anhand dessen Namen an:

    • Zurück an Ihrem lokalen Rechner, fügen Sie die ssh-Sitzung anhand dessen Namen an, aber stellen Sie sicher, dass die Verbindung zum entfernten Rechner zuvor beendet wurde:

    • Lassen Sie sich alle Sitzungen zur Auswahl anzeigen und gehen Sie zu Ihrer ersten Sitzung ([0]). Dort eingeloggt, beenden Sie die Sitzung ssh anhand des Namens:

    • Lösen Sie sich schließlich von der aktuellen Sitzung und beenden Sie diese anhand des Namens:

Offene Übungen

  1. Sowohl screen als auch tmux können durch Befehlspräfix + : in den Kommandozeilenmodus gelangen (hierzu haben wir bereits ein kurzes Beispiel mit tmux gesehen). Stellen Sie einige Nachforschungen an und führen Sie die folgenden Aufgaben im Kommandozeilenmodus aus:

    • screen in den Kopiermodus bringen:

    • Lassen Sie tmux das aktuelle Fenster umbenennen:

    • Veranlassen Sie screen alle Fenster zu schließen und die Sitzung zu beenden:

    • Lassen Sie tmux einen Fensterbereich in zwei Teile spalten:

    • Lassen Sie tmux das aktuelle Fenster beenden:

  2. Wenn Sie den Kopiermodus in screen aufrufen, können Sie nicht nur die Pfeiltasten und PgUp oder PgDown benutzen, um durch das aktuelle Fenster und den Scrollback-Puffer zu navigieren. Es besteht auch die Möglichkeit, einen vi-ähnlichen Vollbildeditor zu verwenden. Führen Sie mit diesem Editor die folgenden Aufgaben aus:

    • Wiedergabe von supercalifragilisticexpialidocious in Ihrem screen-Terminal:

    • Kopieren Sie nun die fünf aufeinanderfolgenden Zeichen (von links nach rechts) in die Zeile rechts über Ihrem Cursor:

    • Abschließend fügen Sie die Auswahl (stice) wieder in Ihre Eingabeaufforderung ein:

  3. Angenommen, Sie wollen eine tmux-Sitzung (our_session) mit einem anderen Benutzer teilen. Sie haben den Socket (/tmp/our_socket) mit den richtigen Rechten so erstellt, dass sowohl Sie als auch der andere Benutzer diesen lesen und schreiben kann. Welche beiden anderen Bedingungen müssen erfüllt sein, damit der zweite Benutzer die Session erfolgreich über tmux -S /tmp/our_socket a -t our_session anhängen kann?

Zusammenfassung

In dieser Lektion haben wir etwas über Terminalmultiplexer im Allgemeinen und GNU Screen und tmux im Besonderen gelernt. Wichtige Konzepte, die Sie sich merken sollten, sind unter anderem:

  • Befehlspräfix: screen verwendet Strg+a + Zeichen; tmux Strg+b + Zeichen.

  • Struktur von Sitzungen, Fenstern und Fensteraufteilungen (Regionen oder Fensterbereiche).

  • Kopiermodus.

  • Sitzungsabtrennung: eines der leistungsstärksten Merkmale von Multiplexern.

In dieser Lektion verwendete Befehle:

screen

Startet eine screen-Sitzung.

tmux

Startet eine tmux-Sitzung.

Lösungen zu den geführten Übungen

  1. Geben Sie an, ob die folgenden Aussagen/Merkmale mit GNU Screen, tmux oder beiden übereinstimmen:

    Feature/Statement GNU Screen tmux

    Standard-Befehlspräfix lautet Strg+a

    x

    Client-Server Modell

    x

    Fensterbereiche sind Pseudoterminals

    x

    Beenden einer Region schließt nicht die zugehörigen Fenster

    x

    Sitzungen umfassen Fenster

    x

    x

    Sitzungen können abgetrennt werden

    x

    x

  2. Installieren Sie GNU Screen auf Ihrem Computer (Paketname: screen) und führen Sie die folgenden Aufgaben aus:

    • Starten Sie das Programm. Welchen Befehl verwenden Sie?

      screen

    • Start Sie top:

      top

    • Öffnen Sie mit dem Befehlspräfix von screen ein neues Fenster; öffnen Sie anschließend /etc/screenrc mittels vi:

      Strg+a-c

      sudo vi /etc/screenrc

    • Listen Sie die Fenster im unteren Teil des Bildschirms auf:

      Strg+a-w

    • Ändern Sie den Namen des aktuellen Fensters in vi:

      Strg+a-A. Dann müssen wir vi eintippen und Enter drücken.

    • Ändern Sie den Namen des verbleibenden Fensters in top. Zeigen Sie dazu eine Liste aller Fenster an, so dass Sie nach oben und unten scrollen und das richtige Fenster auswählen können:

      Zuerst tippen wir Strg+a-". Dann verwenden wir die Pfeiltasten, um diejenige zu markieren, die 0 bash heißt, und drücken Enter. Schließlich tippen wir Strg+a-A, geben top ein und drücken Enter.

    • Prüfen Sie, ob sich die Namen geändert haben, indem Sie die Fensternamen erneut am unteren Bildschirmrand anzeigen lassen:

      Strg+a-w

    • Trennen Sie nun die Sitzung und lassen Sie screen eine neue Sitzung mit dem Namen ssh erstellen:

      Strg+a-d screen -S "ssh" und drücken Sie Enter.

    • Lösen Sie nun auch die Sitzung ssh ab und lassen Sie sich von screen eine Liste aller Sitzungen anzeigen:

      Strg+a-d screen -list oder screen -ls.

    • Fügen Sie nun die erste Sitzung unter Verwendung ihrer PID an:

      screen -r PID-OF-SESSION

    • Sie sollten wieder in dem Fenster sein, das top anzeigt. Teilen Sie das Fenster horizontal und wechseln Sie in die neue leere Region:

      Strg+a-S

      Strg+a-Tab

    • Lassen Sie screen alle Fenster auflisten und wählen Sie vi, um in der neuen leeren Region angezeigt zu werden:

      Wir verwenden Strg+a-", um alle Fenster zur Auswahl angezeigt zu bekommen, markieren vi und drücken Enter.

    • Teilen Sie nun die aktuelle Region vertikal auf, gehen Sie in die neu erstellte leere Region und verbinden Sie diese mit einem brandneuen Fenster:

      Strg+a-|

      Strg+a-Tab

      Strg+a-c

    • Beenden Sie alle Regionen mit Ausnahme der aktuellen (denken Sie daran, dass die Fenster trotz des Beendens der Regionen immer noch aktiv sind). Beenden Sie dann alle Fenster der aktuellen Sitzung, bis die Sitzung selbst beendet ist:

      Strg+a-Q. exit (zum Beenden von Bash). Shift+:, dann tippen wir quit und drücken Enter (zum Beenden von vi). Danach tippen wir exit (um die darunterliegende Bash-Shell zu verlassen). q (um top zu beenden); dann tippen wir exit (um die wiederum darunterliegende Bash-Shell zu verlassen).

    • Führen Sie anschließend die Auflistung der Sitzungen von screen erneut durch, beenden Sie die verbleibende Sitzung von ssh per PID und prüfen Sie, ob tatsächlich keine Sitzungen mehr übrig sind:

      screen -list oder screen -ls

      screen -S PID-OF-SESSION -X quit

      screen -list oder screen -ls

  3. Installieren Sie tmux auf Ihrem Computer (Paketname: tmux) und führen Sie die folgenden Aufgaben aus:

    • Starten Sie das Programm. Welchen Befehl verwenden Sie?

      tmux

    • Starten Sie top (beachten Sie, wie sich — in ein paar Sekunden — der Name des Fensters in der Statusleiste in top ändert):

      top

    • Öffnen Sie unter Verwendung des Befehlspräfixes von tmux ein neues Fenster; öffnen Sie ~/.tmux.conf unter Verwendung von nano:

      Strg+b-c nano ~/.tmux.conf

    • Teilen Sie das Fenster vertikal und verkleinern Sie die Größe des neu erstellten Fensters einige Male:

      Strg+b-"

      Strg+b-Strg+↓

    • Ändern Sie nun den Namen des aktuellen Fensters in text editing; lassen Sie dann tmux eine Liste mit all seinen Sitzungen anzeigen:

      Strg+b-,. Dann geben wir den neuen Namen ein und drücken Enter. Strg+b-s oder tmux ls.

    • Gehen Sie mit der gleichen Tastenkombination in das Fenster, in dem top läuft und zurück in das aktuelle Fenster:

      Strg+b-n oder Strg+b-p

    • Lösen Sie sich von der aktuellen Sitzung und erstellen Sie eine neue, deren Name ssh und deren Fenstername ssh window lautet:

      Strg+b-d tmux neu -s "ssh" -n "ssh window"

    • Lösen Sie sich nun auch von der ssh-Sitzung und lassen Sie tmux die Liste der Sitzungen erneut anzeigen:

      Strg+b-d tmux ls

      Note

      Von diesem Punkt an erfordert die Übung, dass Sie eine fernverbundene Maschine für ssh Verbindungen von Ihrem lokalen Host aus erreichen können (eine virtuelle Maschine ist vollkommen ausreichend und kann sich als durchaus praktisch erweisen). Stellen Sie sicher, dass auf Ihrem lokalen Rechner ein openssh-server installiert ist und läuft sowie auf dem entfernten Rechner mindestens der openssh-client installiert ist.

    • Starten Sie nun den entfernten Rechner und verbinden Sie sich über ssh auf Ihrem lokalen Rechner. Sobald die Verbindung hergestellt ist, überprüfen Sie, ob Sitzungen von tmux vorhanden sind:

      Auf dem entfernten Rechner: ssh local-username@local-ipaddress. Sobald eine Verbindung zur lokalen Maschine besteht: tmux ls.

    • Fügen Sie nun, auf dem entfernten Rechner, die ssh-Sitzung anhand dessen Namen an:

      tmux a -t ssh (a kann durch at oder attach ersetzt werden).

    • Zurück an Ihrem lokalen Rechner, fügen Sie die ssh-Sitzung anhand dessen Namen an, aber stellen Sie sicher, dass die Verbindung zum entfernten Rechner zuvor beendet wurde:

      tmux a -d -t ssh (a kann durch at oder attach ersetzt werden).

    • Lassen Sie sich alle Sitzungen zur Auswahl anzeigen und gehen Sie zu Ihrer ersten Sitzung ([0]). Dort eingeloggt, beenden Sie die Sitzung ssh anhand des Namens:

      Wir tippen Strg+b-s, benutzen die Pfeiltasten, um die Sitzung 0 auszuwählen und drücken Enter. tmux kill-session -t ssh.

    • Lösen Sie sich schließlich von der aktuellen Sitzung und beenden Sie diese per Namen:

      Strg+b-d tmux kill-session -t 0.

Lösungen zu den offenen Übungen

  1. Sowohl screen als auch tmux können durch Befehlspräfix + : in den Kommandozeilenmodus gelangen (hierzu haben wir bereits ein kurzes Beispiel mit tmux gesehen). Stellen Sie einige Nachforschungen an und führen Sie die folgenden Aufgaben im Kommandozeilenmodus aus:

    • screen in den Kopiermodus bringen:

      Strg+a-: — dann tippen wir copy.

    • Lassen Sie tmux das aktuelle Fenster umbenennen:

      Strg+b-: — dann geben wir rename-window ein.

    • Veranlassen Sie screen alle Fenster zu schließen und die Sitzung zu beenden:

      Strg+a-: — dann tippen wir quit.

    • Lassen Sie tmux einen Fensterbereich in zwei Teile spalten:

      Strg+b-: — dann tippen wir split-window.

    • Lassen Sie tmux das aktuelle Fenster beenden:

      Strg+b-: — dann geben wir kill-window ein.

  2. Wenn Sie den Kopiermodus in screen aufrufen, können Sie nicht nur die Pfeiltasten und PgUp oder PgDown benutzen, um durch das aktuelle Fenster und den Scrollback-Puffer zu navigieren. Es besteht auch die Möglichkeit, einen vi-ähnlichen Vollbildeditor zu verwenden. Führen Sie mit diesem Editor die folgenden Aufgaben aus:

    • Wiedergabe von supercalifragilisticexpialidocious in Ihrem screen-Terminal:

      echo supercalifragilisticexpialidocious

    • Kopieren Sie nun die fünf aufeinanderfolgenden Zeichen (von links nach rechts) in die Zeile rechts über Ihrem Cursor:

      Wir gehen in den Kopiermodus: Strg+a-[ oder Strg+a-: und geben dann copy ein. Dann gehen wir mit k in die Zeile darüber und drücken Leertaste, um den Beginn der Auswahl zu markieren. Schließlich gehen wir mit l vier Zeichen weiter und drücken erneut Leertaste, um das Ende der Auswahl zu markieren.

    • Abschließend fügen Sie die Auswahl (stice) wieder in Ihre Eingabeaufforderung ein:

      Strg+a-]

  3. Angenommen, Sie wollen eine tmux-Sitzung (our_session) mit einem anderen Benutzer teilen. Sie haben den Socket (/tmp/our_socket) mit den richtigen Rechten so erstellt, dass sowohl Sie als auch der andere Benutzer diesen lesen und schreiben kann. Welche beiden anderen Bedingungen müssen erfüllt sein, damit der zweite Benutzer die Session erfolgreich über tmux -S /tmp/our_socket a -t our_session anhängen kann?

    Beide Benutzer müssen eine Gruppe gemeinsam haben, z.B. Multiplexer. Dann müssen wir auch den Socket in diese Gruppe einbeziehen: chgrp multiplexer /tmp/our_socket.

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

Nächste Lektion

103.6 Prozess-Ausführungsprioritäten ändern (103.6 Lektion 1)

Nächste Lektion lesen

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

LPI ist eine Non-Profit-Organisation.

© 2022 Linux Professional Institute (LPI) ist eine globale Organisation für Zertifizierungsstandards und zur Karriereplanung für Open-Source-Profis. Mit mehr als 200.000 Zertifikatsinhabern ist es die weltweit erste und größte herstellerneutrale Linux- und Open-Source-Zertifizierungsstelle. LPI verfügt über zertifizierte Fachleute in über 180 Ländern, bietet Prüfungen in mehreren Sprachen an und hat Hunderte von Trainingspartnern.

Unser Ziel ist es, wirtschaftliche und kreative Möglichkeiten für alle zu ermöglichen, indem wir Open-Source-Wissens- und Kompetenzzertifizierungen allgemein zugänglich machen.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktieren Sie uns
  • Datenschutz und Cookie-Richtlinien

Haben Sie einen Fehler entdeckt oder möchten Sie helfen, diese Seite zu verbessern? Lassen Sie es uns wissen.

© 1999–2022 The Linux Professional Institute Inc. Alle Rechte vorbehalten.