Anpassen der bash Kommandozeile

Das Anpassen Deiner .bashrc-Datei kann Deinen Linux Alltag erheblich verbessern!

Die .bashrc ist eine Standarddatei, die sich in DeinemLinux-Home-Verzeichnis befindet. Die wichtigsten Vorteile der Konfiguration der .bashrc-Datei sind:

  • Das Hinzufügen von Aliasen ermöglicht es Dir, Befehle einfacher einzugeben
  • Das Hinzufügen von Funktionen ermöglicht es Dir, Code auszuführen
  • Sie zeigt nützliche Systeminformationen an. z.B. beim Systemstart.
  • Sie passt die Bash-Eingabeaufforderung an.

Bearbeite Deine .bashrc Datei indem DU folgendes eingibst:

nano ~/.bashrc

Aber Achtung: die .bashrc wird NUR beim Start einer shell aufgerufen. Die hier beschriebenen Vorschläge funktionieren erst dann, wenn Du dich nochmal neu einloggst.

Aliases

# Git Status anzeigen
alias gs='git status'

# Alle Änderungen zu Git hinzufügen.
alias gaa='git add --all'

# Alle Änderungen hinzufügen. Dann alles Committen. Dann alles Pushen.
alias pushall='git add --all; git commit -m "pushall"; git push'

# Eine Ebene in der Ordnerstruktur runter.
alias ..='cd ..;pwd'

Funktionen

FInde die größte Dateien:

function largest_files() {
    du -h -x -s -- * | sort -r -h | head -20;
}

Gibst Du nun (nachdem Du Dich neu eingeloggt hast) largest_files ein, siehst Du die größten 20 Dateien oder Verzeichnisse in Deinem Verzeichnis.

Zeig das Wetter

Indem DU in Deiner Shell einfach wetter eingibst hast Du Deine eigene Wettervorhersage

Hier musst Du Dir noch deinen eigenen GRATIS Key auf api.openweathermap.org besorgen.

function wetter() {

    local response=$(curl --silent 'https://api.openweathermap.org/data/2.5/weather?q=Voitsberg&units=metric&lang=de&appid=DEIN_APIKEY')

    local status=$(echo $response | jq -r '.cod')

    case $status in

        200) printf "Ort: %s %s\n" "$(echo $response | jq '.name') $(echo $response | jq '.sys.country')"
             printf "Forecast: %s\n" "$(echo $response | jq '.weather[].description')"
             printf "Temperatur: %s°C\n" "$(echo $response | jq '.main.temp')"
             printf "  Min: %s°C\n" "$(echo $response | jq '.main.temp_min')"
             printf "  Max: %s°C\n" "$(echo $response | jq '.main.temp_max')"
            ;;
        401) echo "401 error"
            ;;
        *) echo "error"
            ;;

    esac

}

Systeminfos beim Systemstart

Beim Sysstemstart kannst Du immer aktuelle Infos anzeigen indem DU folgendes ans Ende Deiner .bashrc Datei anhängst:

printf "\n"
printf "Noch einige Infos vor dem Start:\n"
printf "\n"
printf "   %s\n" "IP ADDR: $(curl ifconfig.me)"
printf "   %s\n" "BENUTZER: $(echo $USER)"
printf "   %s\n" "DATUM: $(date)"
printf "   %s\n" "UPTIME: $(uptime -p)"
printf "   %s\n" "HOSTNAME: $(hostname -f)"
printf "   %s\n" "KERNEL: $(uname -rms)"
printf "   %s\n" "SPEICHER: $(free -m -h | awk '/Mem/{print $3"/"$2}')"
printf "\n"

Bashprompt anpassen

Wenn Du folgende Funktion in Dein .bashrc einfügst und im Bashprompt git_branch ausführst, dann wird in Verzeichnissen mit GIT auch der aktuelle Branch angezeigt.

function git_branch() {
    if [ -d .git ] ; then
        printf "%s " "($(git branch 2> /dev/null | awk '/\*/{print $2}'))";
    fi
}

function bash_prompt(){
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}$(git_branch)\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}$(git_branch)\u@\h:\w\$ '
fi

}

Schreibe einen Kommentar