linux:bash

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:bash [2008/01/06 04:43] stlinux:bash [2016/02/04 13:45] (aktuell) – [Einstellungen festlegen] st
Zeile 1: Zeile 1:
 +====== 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]]
 +
 +
 +