######### STANDARDS
# Setzt die PATH-Variable mit den Pfaden zu den Executable
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# Schreibt Datum, Zeit, User und Verzeichnis über den Prompt
export PS1="$(date +%A,\ %d.%b\ \-\ %H\:%M) - \u [ \w ]\n$ "
# Farbiges Ordner-Listings
export CLICOLOR=1
# Legt die zu nutzenden Farben fest
export LSCOLORS=ExFxCxDxBxegedabagacad
# Legt Textmate als Editor fest
export EDITOR="/usr/bin/mate -w"
# Entfernt doppelte Einträge aus der History
export HISTCONTROL=ignoredups
# Erlaubt das Wachsen der History um 1000000000 Zeilen
HISTFILESIZE=1000000000
# Wie viele zuletzt getippt Kommandos merkt sich der Prompt
HISTSIZE=1000000
# Arbeitsverzeichnis, Desktop
cd ~/Desktop
######### ALIASSE
# Ergänze den History-File anstatt in zu überschreiben
shopt -s histappend
# Festplattenplatz, lesbar
alias df="df -h"
# Das Terminal-Fenster leeren
alias c="clear"
# Directoy-Listing, alle Dateien, formatiert, lesbare Dateigröße, Trailingslash
alias ls="ls -lahF"
# Springt zum Schreibtisch
alias desk="cd ~/Desktop"
# Was passiert im Netzwerk gerade auf Port 80
alias flow="sudo tcpdump -s 0 -A -i en1 port 80"
# Diese Datei bearbeiten
alias profile="mate ~/.profile"
# Ein Verzeichnis zurück
alias ..="cd .."
#Zeige laufende Prozesse an. Wieviel, Sicher, Sortierung
alias top="top -ocpu -R -F -s 2 -n30"
# Fertigt ein Screenshot-Set von Seite X an
alias web="webkit2png"
# GIT Kommandos
alias gco='git co'
alias gci='git ci'
alias grb='git rb'
######### Funktionen
# Fuktionen listen
functions() {
set | fgrep " ()" | grep -v "__git" | grep -v "_git";
}
# Datei an Handbrake weitergeben, mit iPad-Settings konvertieren, auf Desktop ablegen, mit Datum im Namen
hb() {
handbrake -i $PWD/"$@" -Z iPad -o ~/Desktop/iPad_$(date +%Y%m%d).mp4;
}
# RTMP-Stream rippen, auf Desktop ablegen, mit Datum im Namen
rtmp() {
rtmpdump -r "$@" -o ~/Desktop/rtmpdump$(date +%Y%m%d).flv;
}
# Sortierte History anzeigen
his() {
history|awk '{a[$2]++}END{for(i in a){printf"%5d\t%s\n",a[i],i}}'|sort -nr|head;
}
# Youtube-Download, auf Desktop ablegen, mit Titel im Namen
yt() {
youtube-dl -o ~/Desktop/%\(title\)s-%\(id\)s.%\(ext\)s "$@";
}
# Verzeichnis wechseln, Inhalt anzeigen
cl() {
cd "$@" && ls -la;
}
# Backup einer Datei erstellen
bk() {
for file in "$@"
do
cp $file{,.bak}
done
}
# Backup wiederherstellen
rbk() {
if [[ $1 == *.bak ]]
then
backup_file=$1
old_file=${backup_file:0:$((${#backup_file}-4))}
else
old_file=$1
backup_file=${old_file}".bak"
fi
read -p "Replace the old backup? (y/N) " -n 2
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
`cp $backup_file $old_file`
fi
}
# Verzeichnis erstellen und in Verzeichnis wechseln
mk () {
mkdir -p "$@" && eval cd "\"\$$#\"";
}
# MAN-Pages in Vorschau anzeigen
pman()
{
man -t "$@" | open -f -a /Applications/Preview.app/
}