Bash history von allen Terminal Sessions speichern – Zum Beispiel tmux

Damit die Befehle verschiedener Terminal Sessions in der .bash_history gespeichert werden, muss Folgendes entweder in der user .bashrc (benutzerspezifisch) oder in der /etc/bash.bashrc(systemweit) eingetragen werden.

# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups

# big big history
export HISTSIZE=100000
export HISTFILESIZE=100000

# append history entries..
shopt -s histappend

# After each command, save and reload history
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

Weitere hyperblog Artikel zum Thema

bash

tmux

Views: 52

Eine tmux.conf Konfiguration

Dieser Artikel ist eine Erweiterung des tmux Artikels “tmux ein Windowmanager für die Konsole

Eine für mich sehr gut funktionierende tmux.conf entweder systemweit in /etc/ oder nur für einen Benutzer in der ~/.tmux.conf ist die folgende Konfiguration. Für mich waren hier die Statuszeile und die Einbindung des Maus Scrollrades zum Scrollen wichtig.

######################
### DESIGN CHANGES ###
######################

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

set -g mouse on

# modes
setw -g clock-mode-colour colour25
setw -g mode-style "fg=colour255 bg=colour25 bold"

# panes
set -g pane-border-style "fg=colour19 bg=colour0"
set -g pane-active-border-style "bg=colour0 fg=colour9"

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style "bg=colour25 fg=colour255"
set -g status-left "#[bg=colour25,fg=colour255]"
set -g status-right "#[fg=colour255,bg=colour25] %d/%m/%Y #[fg=colour255,bg=colour25] %H:%M "
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style "fg=colour15 bg=colour31 bold"
setw -g window-status-current-format "#I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F"

setw -g window-status-style "fg=colour0 bg=colour25 bold"
setw -g window-status-format "#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F"

setw -g window-status-bell-style "fg=colour255 bg=colour1 bold"

Weitere hyperblog Artikel zum Thema

tmux

bash

Views: 6

Kommando zurück – Bash History Tipps

Die Standard-Kommandozeile Bash bei Kubuntu (wie auch bei vielen anderen Linux Distributionen) hat eine sehr praktische History bzw ein Verlauf, welche Befehle man so eingegeben hat.
 
Die entsprechende Datei heisst .bash_history (mit einem vorangehenen Punkt – weil es sich um eine versteckte Datei handelt) liegt im Benutzerverzeichnis z.B. /home/hoergen/.bash_history
 
Die gesamte History (Verlauf) auflisten mit dem Befehl: history, dann wird ein Liste der Eingaben mit vorangestellter Zeilennummer ausgegeben.
 
Das können unter Umständen sehr viele Zeilen sein. Wenn man nach dem Befehl eine Zahl angibt, so werden die letzten Zeilen der History (Verlaufs) angezeigt wie z.B. history 8 zeigt die letzten 8 Zeilen der History an.
Damit man z.B. den Befehl aus der gefundenen Zeile nicht noch einmal eingeben muss, kann man zur Abkürzung die Zeilennummer mit einem vorangestellten Ausrufezeichen verwenden z.B. !1500
 
In der History kann auch gesucht werden

  • SuchenStrg+r – und anfangen zu tippen
  • Weitersuchennochmal Strg+r drücken
  • Zeile aus der Suche übernehmen und startenEingabe Taste drücken
  • Zeile aus der Suche übernehmen und etwas ändernEnde- oder Pfeil nach rechts Taste

 
Und zum Korrigieren sind diese Tastenkürzel hilfreich

  • Will man die Zeile löschen und ist am Anfang der Zeile: Strg+k
  • Will man die Zeile löschen und ist am Ende der Zeile: Strk+u
  • Will man die zuvor gelöschte Zeile wieder herstellen: Strg+y
  • Das nächste Wort löschen Alt+d
  • Das vorherige Wort löschen Strg+w

 
In der Zeile bewegen

  • Pos 1 oder Strg+a springt an den Zeilenanfang
  • Ende oder Strg+e springt an das Zeilenende
  • Alt+f springt ein Wort vorwärts (Forward)
  • Alt+b springt ein Wort zurück (Back)

 
Es gibt noch wesentlich mehr Kürzel und Befehle, die sich mit der History der Bash beschäftigen.

Weitere hyperblog Artikel zum Thema

tmux

bash


 
 

Views: 8

Beim ssh login tmux aufrufen

Da ich tmux (Alternative zu screen) sehr häufig benutze, nutze ich auch bei remote ssh logins einen Befehl, der mich nach dem erfolgreichen Login gleich in eine detachte tmux session bringt.

ssh -l <USERNAME> <HOST> -p <PORT> -t "tmux a"

Weitere hyperblog Artikel zum Thema

tmux

bash

Views: 4

tmux ein Windowmanager für die Konsole

Die Konsole, die Manche auch als Kommandofenster oder Shell bezeichnen, ist für die Einen der furchtbar langweiligste und komplizierteste Weg irgendwas am System zu verändern. Für die Anderen ist es der Weg der ultimativen Macht und Kontrolle über ein System.

Standardmäßig öffnet man genau 1 Konsole und kann dort Befehle absetzt, Scripte starten oder Programme wie SSH starten und Verbindungen zu anderen Servern aufmachen. Braucht man mehr als nur eine Konsole, dann könnte man weitere Konsolen starten.

Nun gibt es aber Anwendungsszenarien, bei denen man mehrere Dinge parallel machen und sie auch im Auge behalten, oder nur 1 SSH Verbindung zu einem anderen Computer aufmachen möchte, dort aber ebenfalls mehrere Sessions mit z.B. unterschiedlichen Benutzern gleichzeitig starten, oder nicht jedes Mal warten müssen, bis ein Programm seine Arbeit erledigt hat, bevor man weiter machen kann. Und man möchte sich nicht für jede Aufgabe neu einloggen, wo man doch schon eigentlich eingeloggt ist. Hier kommt tmux ins Spiel.

Tmux ist ein sogenannter Terminal Multiplexer. Salopp ausgedrückt: Es vervielfältigt die aktuelle Konsole um weitere virtuelle Konsolen (Prozesse). Also aus einer einzigen Konsole werden viele Konsolen gemacht. Wenn man möchte.

  1. So gibt es zwei hauptsächliche Anwendungsszenarien. Die beide natürlich parallel nutzbar sind:
  2. Einerseits kann die (Text) Konsole in verschiedene Bereiche aufgeteilt werden, wie Fenster die auf einem grafischen Desktop nebeneinander und untereinander angeordnet werden.
    1. vertikale Aufteilung Strg+b+%
    2. horizontale Aufteilung Strg+b+"
    3. Wechseln zwischen den Fenstern Strg+b+<Pfeiltasten>
    4. In das Fenster “reinzoomen” maximieren und wieder zurück zur nomalen Ansicht mit Strg+b + z.

      Dabei unbedingt beachten: wenn die Strg Taste vor dem z nicht losgelassen wurde, dann interpretiert das System das als Strg+z und schiebt den gesamten tmux Prozess in den Hintergrund. Mit dem Befehl fg (foreground) kann tmux wieder in der Vordergrund geholt werden.

      Das alles ist Teil der “Job Kontrolle” mit dem Prozesse in den Hintergrund geschoben werden können und stammt aus einer Zeit, als nur ein Terminalfenster in einem Multitaskingsystem zur Verfügung stand. Auch wenn das Konzept sehr alt ist, ist es immer noch sehr praktisch.
  3. Andererseits kann man Konsolen (Sessions) hintereinander stapeln, so dass man immer nur eine Konsole zur Zeit sieht
    1. Neue Session (Vollbildfenster) erstellen Strg+b+c
    2. Wechsel zwischen den Sessions Strg+b+<Nummer> , beginnt mit 0,1,2,3


Alle diese Fenster kann man mit Strg+d oder einfach mit der Eingabe von exit wieder schliessen.

Will man tmux aber nicht schliessen, sondern sich z.B. von einem Server ausloggen, dort aber alle tmux Sessions offen halten, weil ein Prozess dort noch länger läuft, oder man mehrere Fenster angeordnet hat und Prozesse monitored, so kann man

  1. tmux einfach im Hintergrund weiterlaufen lassen mit Strg+b+d   (detach)
  2. später die Session wieder aufnehmen indem man in der Konsole tippt: tmux a      (attach)

Der Vorteil von tmux ist hier ganz klar, dass man nicht nur eine Session vervielfachen kann, sondern auch, dass bei einem Verbindungsabbruch, die Scripte und Programm, die man gestartet hat unbehelligt auf dem entfernten Server weiter laufen. Sobald man wieder Netz hat, verbindet man sich wieder mit dem Server und holt sich die Session mit tmux a (attach) wieder zurück.

Man sollte dabei im Hinterkopf behalten, dass tmux immer mit dem Benutzer und dessen Rechten neue Sessions aufmacht, mit der tmux gestartet wurde. Braucht man also z.B. viele root Sessions, so sollte man erst zum Benutzer root wechseln, bevor man tmux startet.

Tmux kann noch wesentlich mehr, inklusive einem Theming, wenn man die Farben und die Statuszeile anpassen möchte, oder alle Tasten komplett umkonfigurieren usw. Sehr gute Einstiegsseiten, um mehr darüber zu erfahren sind

  1. Ubuntuusers Wiki https://wiki.ubuntuusers.de/tmux/
  2. Tmux Entwickler Seite https://github.com/tmux/tmux/wiki

Meine persönliche .tmux.conf in meinem Benutzerverzeichnis /home/Benutzer/ sieht momentan so aus

Weitere hyperblog Artikel zum Thema

tmux

bash

Views: 9