BASH
Die (GNU-) Bourne-Again Shell ist bei den meisten Distributionen die Standard-shell.
Komfortmerkmale
- Kommandovervollständigung (<TAB>-Taste), wenn die Eingabe nicht eindeutig ist werden bei mehrfachem drücken die Kandidaten angezeigt.
- Befehlshistorie (
history
) löschen (history -c
) - Befehle aus der Historie wieder zu verwenden (<STRG>-<R> bzw. mit der nach-oben-Pfeiltaste die Befehle durchblättern)
sowie die Möglichkeit auf umfangreiche Scripting-Fähigkeiten zurückzugreifen macht das arbeiten auch jenseits von grafischen Benutzeroberflächen komfortabel.
- <STRG>-<L> löscht den Bildschirm
Konfiguration
Die Konfiguration wird in zwei Dateien abgelegt:
.bash_profile
enthält Einstellungen die nur beim Login eingelesen werden.bashrc
enthält Einstellungen die bei jedem Start eines Terminals oder einer Shell ausgewertet werden.
dort kann man Aliase o.ä. einstellen. Siehe Shell konfigurieren - Schleichwege.
Einstellungen festlegen
Konfigurationsdateien
Login-Shell:
- /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile
Nicht-Login-Shell:
- /etc/bash.bashrc, ~/.bashrc
Systemweit: als root entweder in
/etc/profile
oder in/etc/bash.bashrc
editieren.
Benutzerspezifisch: Jeder Benutzer kann natürlich auch seine eigene Bash-Konfiguration festlegen:
~/.bashrc
oder~/.bash_profile
(hier Variablen mit EXPORT VAR=„Wert“!)
Login-Prompt
Servername rot ansonsten alles schwarz:
PS1='\u@\[\033[01;31m\]\h\[\033[0;30m\]:\w\$ '
Aliase
mit dem Befehl alias
kann man eine Abkürzung für oft gebraucht Befehle anlegen, z.B.
alias l='ls $LS_OPTIONS -lA' alias ls='ls $ls_OPTIONS' alias ll='ls $ls_OPTIONS -l' alias la='ls $ls_OPTIONS -lA' alias lh='ls $ls_options -h -l' alias listening='sudo netstat -l -n -p -t -u -w' alias agi='sudo aptitude install $aptoptions $aptoptions2' alias agu='sudo aptitude update && sudo aptitude upgrade' alias agr='sudo aptitude remove $prog $prog2' alias msg='tail -f /var/log/messages | loco' alias search='find . -type f | xargs egrep -i "$string"' alias empty='cat $1 | grep -v "#" | sed -e '/^$/d'' alias ipf='iperf -P 1 -i 1 -p 5001 -w 56K -f k -t 10 -c' alias duh='du -h --max-depth=1' alias post='tail -n 100 /var/log/mail.info | loco '
Die Zeichenketten beginned mit „$“ sind Variablennamen, die die Möglichkeit geben der Abkürzung/dem Alias noch zusätzliche Parameter mitzugeben.
Rückgängig machen geht mit unalias