RC-Files: Pimp my.. bashrc

Linux ist mächtig - das weiß jeder der sich etwas eingearbeitet hat. Viele der kleinen Feinheiten bleiben den meisten verborgen.

So auch die mächtige .bashrc-Datei, die in eurem home-Verzeichnis liegt und bei jedem Start der Konsole geladen wird. Sie ist eine von vielen RC-Dateien, die beim Start von Programmen oder dem System selbst ausgeführt werden.

Im folgenden findet ihr eine Liste mit bashrc-Befehlen sowie einem Kommentar, was diese bewirken:

# Ermöglich das Durchsuchen der Bash-History durch die Pfeiltasten 

if [ -n "$PS1" ]
then
    bind '"\C-[[A": history-search-backward'
    bind '"\C-[[B": history-search-forward'
fi

# Ermöglicht, kleinere Schreibfehler bei einem cd zu ignorieren
shopt -s -q cdspell

# Schließt Dateien mit Punkten bei Bash-Expansions ein
shopt -s -q dotglob

# Ermöglicht ein erweitertes Pattern-Matching
shopt -s -q extglob

# Auto-Vervollständigt auch Hosts ( bei user@host )
shopt -s -q hostcomplete

# Auto-Vervollständigt case-insensitive
shopt -s -q nocaseglob

# Sucht im $PATH wenn die Hash-Suche von Bash nicht erfolgreich war
shopt -s -q checkhash

# Erlaubt fehlgeschlagene History-Einträge zu verändern
shopt -s -q histreedit

# Hängt die History an statt sie neu zu schreiben
shopt -s -q histappendshopt -s -q cmdhist

# Checkt nach jedem Befehl die Konsolengröße und passt sie ggf. an
shopt -s -q checkwinsize

COMP_CONFIGURE_HINTS=1
COMP_TAR_INTERNAL_PATHS=1

# Ignoriert doppelte und leere Kommandos in der History
export HISTCONTROL=ignoreboth

# Ignoriert häufige Standardanweisungen, kann mit ":Befehl" 
# erweitert werden
# Ignoriert außerdem doppelte Befehlseinträge
export HISTIGNORE="[   ]*:&:bg:fg:exit"

# Weist die Shell an, Befehle sofort in der Befehls-Chronik-Datei 
# ~/.bash_history zu speichern, statt erst beim Logout
# Das macht das leben einfacher wenn man oft mit mehreren
# Konsolen arbeitetexport 
PROMPT_COMMAND="history -a"

# Eine globale Funktion für alle Entpack- und Dekomprimier-Arten 
function extract(){
    if [ -f $1 ]
    then
        case $1 in
            *.tar.bz2)
                tar xvjf $1
                ;;
            *.tar.gz)
                tar xvzf $1
                ;;
            *.bz2)
                bunzip2 $1
                ;;
            *.rar)
                unrar x $1
                ;;
            *.gz)
                gunzip $1
                ;;
            *.tar)
                tar xvf $1
                ;;
            *.tbz2)
                tar xvjf $1
                ;;
            *.tgz)
                tar xvzf $1
                ;;
            *.zip)
                unzip $1
                ;;
            *.Z)
                uncompress $1
                ;;
            *.7z)
                7z x $1
                ;;
            *)
                echo "'$1' cannot be extracted via >extract<"
                ;;
        esac
    else
        echo "'$1' is not a valid file"
    fi
}

# Die folgenden Anweisungen sind Standard in Debian- und Ubuntu-
# Installationen - die Ausgabe von ls wird farbig gekennzeichnet
# und es werden für häufig benutzte ls-Kombinationen Aliase angelegt
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

# Diese Aliase helfen euch, Versehen wie "rm -r /*" zu vermeiden
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Solche Aliase sparen euch Zeit, wenn ihr Dienste neustarten wollt
alias restart-apache="/etc/init.d/apache2 restart"

# Falls ihr öfters eure bashrc ändert sollte dieser Alias recht
# nützlich sein
alias reload='source ~/.bashrc'





Proudly powered by Microsoft IIS, Visual Basic .NET and DHTML. NOT.
Copyright © izzy
License Info