Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
linux:bash [2008/01/26 01:29] – st | linux:bash [2016/02/04 13:45] (aktuell) – [Einstellungen festlegen] st |
---|
| ====== BASH ====== |
| Die [[wpde>Bash|(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 [[shellscripts:shellscripts|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 [[Shells|Shell]] ausgewertet werden. |
| dort kann man Aliase o.ä. einstellen. |
| Siehe [[http://www.easylinux.de/2004/07/082-bash/|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: <file>PS1='\u@\[\033[01;31m\]\h\[\033[0;30m\]:\w\$ '</file> |
| |
| |
| * [[http://wiki.ubuntuusers.de/Bash/Prompt|Prompt @ubuntuusers]] |
| ===== Aliase ===== |
| mit dem Befehl ''alias'' kann man eine Abkürzung für oft gebraucht Befehle anlegen, z.B. |
| |
| <code bash> |
| 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 ' |
| </code> |
| |
| 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'' |
| |
| |
| ===== Links ===== |
| * [[http://home.arcor.de/dfcgen/refcards/bash.pdf|Bash-Scripting Kurzreferenz]] |
| * [[http://www.linux.org/docs/ldp/howto/Bash-Prompt-HOWTO/|Bash Prompt HOWTO]] |
| * **[[http://bash-hackers.org/wiki/doku.php/|Bash Hackers Wiki]]** |
| * [[http://www.ibm.com/developerworks/linux/library/l-tip-prompt/|Tip: Prompt magic]] |
| * [[http://www.delight.ch/linux/bash-script-howto/Kap05.html#m5|spezielle Bash-Variablen]] |
| * [[http://www.deadman.org/bash.html|Deadmans “Advancing in the Bash Shell”]] |
| * [[http://www.unixguide.net/unix/bash/|BASH FAQ]] |
| * [[http://www.ijon.de/comp/tutorials/bash.html|bash und readline für Nicht-mehr-Anfänger]] |
| * [[http://www.tldp.org/LDP/abs/html/sample-bashrc.html|A Sample .bashrc File]] |
| * [[http://www.gossiplabs.org/log4bash.html|log4bash]] |
| |
| |
| |
| |