Inhaltsverzeichnis

Bash

Tastaturkürzel

Hier einige Tastaturkürzel für die Bash:

Tastaturkkombination Beschreibung
Ctrl + A zum Anfang der Zeile springen
Ctrl + E zum Ende der Zeile springen
Ctrl + L leert den Bildschirm (wie der Befehl clear)
Ctrl + U löscht die Zeichen vor dem Cursor
Ctrl + H wie backspace
Ctrl + R suche der zuletzt benutzten Befehle
Ctrl + C Killt das aktuell gestartete Programm
Ctrl + D schließt die aktuelle Shell
Ctrl + Z stellt den aktuell gestarteten Prozess angehalten in den Hintergrund
(mit Befehl jobs nach solchen Prozessen suchen und mit Befehl fg <NUMMER> wieder in den Vordergrund holen
Ctrl + W löscht Wort vor dem Cursor
Ctrl + K löscht Zeichen nach dem Cursor
Ctrl + T vertauscht die zwei letzten Zeichen vor dem Cursor
Esc + T vertauscht die letzten zwei Wörter vor dem Cursor
Alt + F setzt den Cursor um ein Wort vor
Alt + B setzt den Cursor um ein Wort zurück
Tab Komplettiert automatisch Namen von Dateien und Ordnern

Quelle: www.howtogeek.com

Zeichen vervollständigung

Wenn man in der Konsole die Anfangsbuchstaben von Befehlen eingibt und dann die Tabulatortaste drückt, werden Vorschläge zum Vervollständigen angeboten.
Diese Funktion ist allerdings nur für, dem System bekannten, Befehlen verfügbar.

Installation

Möchte man diese Funktion erweitern und sie z.B. auch für Init-Scripte verwenden, muss ein Programm instaliert werden, welches über Login-Scripte gesteuert werden kann.

apt-get install bash-completion

Ab der nächsten Anmeldung bzw. dem öffnen eines neuen Terminals kann man schon auf einige Vervollständigungen zugreifen.

Konfiguration

Die Konfigurationsdatei von bash_completion liegt unter /etc. Der Ordner /etc/bash_completion.d beinhaltet bereits einige Scripte zur Verfollständigung.
Weitere Scripte besinden sich unter /usr/share/bash-completion/completions.
Man muss allerdings zunächst die bash_completion einschalten. Dies tut man indem, bei folgenden Zeilen, das #-Zeichen entfernt.

#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
#fi

Nach einem erneuten Anmelden bzw. öffnen eines Terminals verfügt man automatisch über neue Vervollständigungsfunktionen.

Bunter Text

Wenn man farbigen Text auf der Konsole ausgeben möchte, kann man das mit print oder echo (in Verbindung mit tput) tun.
Unter folgenden Links, findet man noch weitere Beispiel: misc.flogisoft.com
Hier soll z. B. folgender farbiger Text ausgegeben Werden:
<html><b><font size=„3“>„I <font color=„red“>love</font> you.“</font></b></html>

Textformatierung mit tput

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
echo "I ${red}love ${green}you${reset}"

oder

echo "I `tput setaf 1`love `tput setaf 2`you`tput sgr0`."

Bei buntem Text in der Message of the Day, bitte Anweisungen unter farbiger_text beachten.

Hintergrundfarbe mit tput
Zum ändern der Hintergrundfarbe, muss der tput-Befehl wie folgt lauten:

bgred=`tput setab 1`
bgwhite=`tput setab 7`
reset=`tput sgr0`
echo "${bgwhite}I ${red}love ${green}you${reset}"

Farb-/Formatangaben

Eigenschaft Code
schwarz $(tput setaf 0)
weiß $(tput setaf 7)
rot $(tput setaf 1)
grün $(tput setaf 2)
gelb $(tput setaf 3)
blau $(tput setaf 4)
hell gelb $(tput setaf 190)
hell blau $(tput setaf 153)
magenta $(tput setaf 5)
cyan $(tput setaf 6)
hell $(tput bold)
normal $(tput sgr0)
blinkend $(tput blink)
invertiert $(tput smso)
unterschrichen $(tput smul)
fett $(tput bold)

Textformatierung mit ANSI/VT100 Kontrollsequenzen

RED='\033[0;31m'
NC='\033[0m' # No Color
printf "I ${RED}love${NC} youw\n"

oder

printf "I \033[0;31mlove\033[0m you\n"

oder

echo -e "I \033[0;31mlove\033[0m you\n"

Farb-/Formatangaben

Eigenschaft Code
schwarz 0;30
weiß 1;37
rot 0;31
grün 0;32
gelb 1;33
blau 0;34
orange 0;33
lila 0;35
cyan 0;36
hellgrau 0;37
dunkelgrau 1;30
hellrot 1;31
hellgrün 1;32
hellblau 1;34
helllila 1;35
hellcyan 1;36
dunkel \e[2mDim
blinkend \e[5mBlink
invertiert \e[7minverted
unterschrichen \e[4mUnderlined
fett \e[1mBold

Multitasking

Mit Linux kann man auf einer Konstolensitzung mehrere Befehle auf mehreren Subsitzungen gleichzeitig ausführen.
Verschiedene Tools können mit Multitaskingsitzungen umgehen.

Screen

(Quelle: https://wiki.ubuntuusers.de/Screen/)
screen ist ein Fenstermanager in der Konsole. Damit lassen sich an einer einzelnen Konsolensitzung mehrere virtuelle Sitzungen erstellen.
Dies ist praktisch und auch sicherer, wenn man sich z. B. per ssh auf einen Server einloggt und darauf einen wichtigen länger andauernden Befehl aufruft.
Wenn hier nun die ssh Sitzung abbricht, wird der Befehl unter Umständen auch abgebrochen.
Wenn dieser Befehl auf einer virtuellen Sitzung gestartet wird, bleibt die Sitzung auch nach einem ssh Kommunikationsabbruch erhalten und der Befehl läuft durch.

Installation

sudo apt-get install screen

Befehle

Funktion Befehl
Sitzung erstellen
screen -S <SITZUNGSNAME> 
Sitzungen anzeigen
screen -ls 
zur Sitzung wechseln
screen -r <SITZUNGSNAME> 
Sitzung an mehreren PC anzeigen
screen -rx <SITZUNGSNAME> 
Befehl an Sitzung leiten
screen -S <SITZUNGSNAME> -X stuff $'ls -l\n'

Innerhalb einer Sitzung kann man folgende Screen-Kommandos absetzen:

Statusleiste innerhalb einer Sitzung anzeigen
Zuerst den unten stehenden Befehl eingeben und dann zu einer Sitzungs wechseln.

screen -X caption always "%{rw} * | %H * $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<"

Dabei stehen die verschiedenen Variablennamen für:

$LOGNAME der Benutzername
%H der Hostname
%c die Uhrzeit im 24-Stunden-Format
%D der aktuelle Wochentag
%n Nummer des virtuellen Terminals
%f Flag; so zeigt das Sternchen das aktive virtuelle Terminal an, ein Minuszeichen die zuletzt besuchte Sitzung
%t der mit Strg + A , ⇧ + A gesetzte Titel der Sitzung
%id` Backtick-Referenz, wobei id = 1,2,3 …

Die Angaben in den geschweiften Klammern beschreiben u.a. die Farben. Die Angabe %50> sorgt dafür, dass screen bei einer zu langen Fensterleiste die Ausgabe abschneidet, so dass die Angabe mittig erscheint. In der „man page“ finden sich weitere anwendbare Escape-Sequenzen (string escapes). Über entsprechende Akzent-Zeichen (backticks) lassen sich Rückgabewerte von Shellscripten, z. B. das Auslesen der IP-Adresse, in die Statuszeile einblenden.

Damit die Statusleiste dauerhaft erscheint, ohne alles mühsam von Hand einzugeben, kann ein Eintrag in der Konfigurationsdatei systemweit unter /etc/screenrc oder für den Benutzer unter ~/.screenrc vorgenommen werden. In der Datei sollte dann folgender Eintrag hinzugefügt werden:

caption always "%{rw} * | %H * $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<"

Unter Umständen muss man für die Benutzereinstellung eine Kopie von /etc/screenrc nach ~/.screenrc kopieren.

tmux

Tmux ist sogenannt ein neugeschriebenes screen.

Installation

apt-get install tmux

Befehle

Nach dem start von tmux erscheint am unteren Rand eine grüne Zeile, mit verschiedenen Informationen über die jew. Session.

Mit folgenden Befehlen lässt sich tmux steuern
Ein Befehl wird standardmäßig mit STRG+B eingeleitet.

Befehl Beschreibung
? zeigt mögliche Befehle an
c erstellt ein neues Fenster
x schließt das aktuelle Fenster
n wechselt zum nächsten Fenster
p wechselt zum vorherigen Fenster
w Liste aller Fenster anzeigen
# wechselt zum angegebenen Fenster mit Nummer (#=Nummer)
fragt in welche Fenster gewechselt werden soll
% Teilt das aktuelle Fenster vertical auf
Teilt das aktuelle Fenster horizontal auf
Space Wechsel zwischen verschiedenen Aufteilungen der Fenster
! Die aktuelle Fensterscheibe aus dem Fenster lösen und ein neues Fenster erstellen
[ Im aktuellen Fenster mit der Tastatur scrollen („q“ beendet)
d trennt die Konsolenverbindung

Um aus der normalen Konsole wieder zu den tmux-Konsolen zurückzukehren, einfach folgenden Befehl eingeben

tmux attach

stdin stdout stderr

0 ist der standard input file descriptor (stdin).
1 ist der standard output file descriptor (stdout).
2 ist der standard error file descriptor (stderr).

2>&1

Erklärung:
Ausgabe der Error-Meldungen (2) wird umgeleitet (>) zum file descriptor (&) (und nicht zu einer Datei namens „1“), zur Standard-Ausgabe (1).

Tags

Shortcut, Kürzel, Pos1, Home, Ende, End, color, colour, farbe