linux:bash

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

Die Konfiguration wird in zwei Dateien abgelegt:

  1. .bash_profile enthält Einstellungen die nur beim Login eingelesen werden
  2. .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.

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“!)

Servername rot ansonsten alles schwarz:

PS1='\u@\[\033[01;31m\]\h\[\033[0;30m\]:\w\$ '

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