3 Tools um die Kommandozeile im Blick zu behalten


Für wichtige Aktivitäten, wie Systemupgrades, die Beobachtung von  Logfiles oder generell den Umgang mit länger laufenden Prozessen oder längeren Arbeiten auf der Kommandozeile insbesondere auf entfernten Servern (Rootserver, virtuelle Server) können Script, Screen und Multitail sehr hilfreich sein.

Script

Um beispielsweise in Update-Prozessen (oder bei längeren Tätigkeiten auf der Kommandozeile) den Fortschritt zu beobachten gibt es verschiedene Möglichkeiten. Es ist empfehlenswert, das Programm /usr/bin/script zu verwenden, um einen Mitschnitt der Upgrade-Sitzung zu erstellen. Bei Problemen kann man dann auf ein detailliertes Protokoll der Ereignisse zurückgreifen. Weiter Informationen gibt es beispielsweise in der Debian Upgrade-Anleitung

Screen

Screen ist ein Konsolen-Fenstermanager, mit dem es möglich ist, innerhalb eines einzigen Shell-Zugangs mehrere virtuelle Kommandozeilen-Sitzungen zu erzeugen und zu verwalten. Darüber hinaus können Sitzungen getrennt und später fortgeführt werden.

Anwendungsbeispiel

Man meldet sich an seinem Server mittels SSH, startet ein Programm. Beendet man die SSH-Sitzung, wird auch das Programm beendet. Mit Screen kann man dies verhindern: Man meldet sich per SSH an, startet Screen und danach das gewünschte Programm. Dann ruft man das detach-Kommando auf und kann sich abmelden und im Hintergrund arbeitet das vorab gestartete Programm weiter. Nach der nächsten Anmeldung kann man die Sitzung mit dem Programm wiederaufnehmen.

https://wiki.ubuntuusers.de/Screen/

Eine gute Übersicht der Kommandozeilen-Parameter findet man hier:

Screen Quick Reference

Basic

Description Command
Start a new session with session name screen -S <session_name>
List running sessions / screens screen -ls
Attach to a running session screen -x
Attach to a running session with name screen -r <session_name>
Detach a running session screen -d <session_name>
Kill a running session screen -X -S [session # you want to kill] kill
Accessing a screen that is already attached screen -r -d [session name]

Escape Key

All screen commands are prefixed by an escape key, by default Ctrl-a (that’s Control-a, sometimes written ^a). To send a literal Ctrl-a to the programs in screen, use Ctrl-a a. This is useful when when working with screen within screen. For example Ctrl-a a n will move screen to a new window on the screen within screen.

Getting Out

Description Command
detach Ctrl-a d
detach and logout (quick exit) Ctrl-a D D
exit screen Ctrl-a : quit or exit all of the programs in screen.
force-exit screen Ctrl-a C-\ (not recommended)

Help

Description Command
See help Ctrl-a ? (Lists keybindings)

Window Management

Description Command
Create new window Ctrl-a c
Change to last-visited active window Ctrl-a Ctrl-a (commonly used to flip-flop between two windows)
Change to window by number Ctrl-a <number> (only for windows 0 to 9)
Change to window by number or name Ctrl-a ' <number or title>
Change to next window in list Ctrl-a n or Ctrl-a <space>
Change to previous window in list Ctrl-a p or Ctrl-a <backspace>
See window list Ctrl-a " (allows you to select a window to change to)
Show window bar Ctrl-a w (if you don’t have window bar)
Kill current window Ctrl-a k (not recommended)
Kill all windows Ctrl-a \ (not recommended)
Rename current window Ctrl-a A

Split screen

Description Command
Split display horizontally Ctrl-a S
Split display vertically `Ctrl-a
Jump to next display region Ctrl-a tab
Remove current region Ctrl-a X
Remove all regions but the current one Ctrl-a Q

Misc

Description Command
Redraw window Ctrl-a C-l
Enter copy mode Ctrl-a [ or Ctrl-a <esc> (also used for viewing scrollback buffer)
Paste Ctrl-a ]
Monitor window for activity Ctrl-a M
Monitor window for silence Ctrl-a _
Enter digraph (for producing non-ASCII characters) Ctrl-a Ctrl-v
Lock (password protect) display Ctrl-a x
Enter screen command Ctrl-a :
Enable logging in the screen session Ctrl-a H

Scrolling

Description Command
Enter scrolling mode Ctrl-a esc
Scroll Up Ctrl-u
Scroll Down Ctrl-d
Exit scrolling mode esc esc

This section is a contribution from: @mickpbarry

Multitail

Mit multitail kann man im Gegensatz zu tail mehrere Logs gleichzeitig verfolgen in konfigurierbaren Konsolen-Fenster-Unterteilungen. Es basiert auf ncurses und kann mehrere Dateien gleichzeitig überwachen und Keywords farbig darstellen. Weitere Informationen und Konfigurationshinweise finden sich auf diesen Seiten: