Wer Einstellungen an der bash ändern möchte oder z.B. einige Kommandos bzw. die
passenden Parameter nur schwer behalten kann oder eher selten auf der
Kommandozeile arbeitet, für den sind Einträge in der .bashrc sehr hilfreich.
Global -> /etc/bash.bashrc
User -> ~/.bashrc
Download:
https://github.com/voku/dotfiles/blob/master/.bashrc
Es folgen einige Einträge welche man ggf. in der .bashrc eintragen kann
export
# Datum zum Historylog hinzufuegen
export HISTTIMEFORMAT="%F %T "
# History auf 3000 Eintraege erweitern
export HISTSIZE=3000
# keine doppelten Einträge speichern
export HISTCONTROL=ignoredups
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01; 35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:'
export LS_COLORS
# Source Globale Definitionen
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Schalte vervollstaendigung fuer Programme ein
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
alias
alias checkupdates='sudo apt-get update'
-> aktualisiert die Quellen (sources.list)
alias mkdd='mkdir $(date +%Y%m%d)'
-> erstellt ein Verzeichnis mit angehängtem Datum (yyyymmdd)
alias launchpadkey='sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys'
-> fuegt einen neuen Key Launchpad PPAs fuer Ubuntu hinzu
z.B.: launchpadkey 4E5E17B5
alias grep='grep --color=auto'
-> Ergebnisse von grep werden nun farblich markiert
alias ls='ls --color=auto -Fh'
-> verleiht dem “ls”-Befehl Farbe
alias la='ls -laFh --color=auto'
-> zeigt alle Dateien und Verzeichnisse ausführlich an
alias ll='ls -lFh --color=auto --group-directories-first'
-> zeigt Dateien und Verzeichnisse ausführlich an
alias llr='ls -lartFh --color=auto --group-directories-first'
-> zeigt die zuletzt geänderten Dateien unten an
alias dir='ls --color=auto --format=vertical'
-> zeigt Dateien und Verzeichnisse an
alias vdir='ls --color=auto --format=long'
-> zeigt mehr Infos zu Dateien und Verzeichnissen an
alias tree='tree -Csu'
-> zeigt einen Verzeichnis-Baum an
alias timestamp='date "+%Y%m%dT%H%M%S"'
-> zeigt den aktuellen Timestamp im ISO 8601 Format an
alias lf='find ./* -ctime -1 | xargs ls -ltr --color'
-> zeigt rekursiv Dateien und Verzeichnisse die in der letzten Stunde anfasst wurden an
alias myip='GET http://www.whatismyip.com/automation/n09230945.asp && echo'
-> zeigt deine oeffentliche IP-Adresse an
alias ..='cd ../'
-> wechselt ein Verzeichnis nach oben
alias ::='cd ../..'
-> wechselt zwei Verzeichnisse nach oben
alias 'psx'='ps auxwf | grep'
-> zeigt die/den entsprechenden Prozess an
alias pst='pstree -Alpha'
-> zeigt die Prozessstruktur uebersichtlich an
alias psmy='ps -ef | grep $USER'
-> zeigt alle meine Prozesse an
alias lsport='sudo lsof -i -T -n'
-> zeigt die Ports an, welche die Applikationen verwenden
alias llport='netstat -nape --inet'
-> zeigt weitere Infos über die Ports an, welche die Applikationen verwenden
alias du='du -kh'
-> zeigt den Festplattenverbrauch eines Verzeichnisses leserlich an
alias df='df -kTh'
-> zeigt den kompletten Festplattenverbrauch leserlich an
function
# Netzwerk Info
netinfo ()
{
echo "--------------- Network Information ---------------"
/sbin/ifconfig | awk /'inet Adresse/ {print $2}'
echo ""
/sbin/ifconfig | awk /'Bcast/ {print $3}'
echo ""
/sbin/ifconfig | awk /'inet Adresse/ {print $4}'
echo "---------------------------------------------------"
}
# entpacken von Komprimierten Dateien
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 >extra ct<" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# zeigt alle Dateien in dem akuellen Verzeichnis an (rekursiev)
ff()
{
find . -type f -iname '*'$*'*' -ls ;
}
# Finde Text in Dateien
fstr()
{
OPTIND=1
local case=""
local usage="fstr: find string in files.
Usage: fstr [-i] "pattern" ["filename pattern"] "
while getopts :it opt
do
case "$opt" in
i) case="-i " ;;
*) echo "$usage"; return;;
esac
done
shift $(( $OPTIND - 1 ))
if [ "$#" -lt 1 ]; then
echo "$usage"
return;
fi
find . -type f -name "${2:-*}" -print0 |
xargs -0 egrep --color=always -sn ${case} "$1" 2>&- | more
}
# Infos zu einer Datei ausgeben
file_information()
{
if [ $1 ]; then
PLACE=`type -path $1`
if [ -z $PLACE ]; then echo "$1: not found"; return 1; fi
echo $PLACE
ls -l $PLACE
file $PLACE
ldd $PLACE
else
echo "Missing argument"
fi
}
alias finfo=file_information
# ein Backup einer Datei anlegen (mit Datum)
file_backup()
{
for FILE ; do
[[ -e "$1" ]] && cp "$1" "${1}_$(date +%Y-%m-%d_%H-%M-%S)" || echo ""$1" not found." >&2
done
}
alias fback=file_backup
# Ein komprimiertes Backup + Datum erstellen
packen()
{
tar czvf "$1-$(date +%y%m%d-%H%M%S).tar.gz" "$1" ;
}
# ssh Verbindung aufbauen + ein Logfile schreiben
logssh()
{
ssh $1 | tee sshlog ;
}
# farblichen Bash-Prompt
shell_colored() {
local GRAY="[33[1;30m]"
local LIGHT_GRAY="[33[0;37m]"
local CYAN="[33[0;36m]"
local LIGHT_CYAN="[33[1;36m]"
local NO_COLOUR="[33[0m]"
local BLUE="[33[0;34m]"
local LIGHT_BLUE="[33[1;34m]"
local RED="[33[0;31m]"
local LIGHT_RED="[33[1;31m]"
local GREEN="[33[0;32m]"
local LIGHT_GREEN="[33[1;32m]"
local PURPLE="[33[0;35m]"
local LIGHT_PURPLE="[33[1;35m]"
local BROWN="[33[0;33m]"
local YELLOW="[33[1;33m]"
local BLACK="[33[0;30m]"
local WHITE="[33[1;37m]"
PS1="n${debian_chroot:+($debian_chroot)}$LIGHT_GREENu$LIGHT_BLUE@$LIGHT_GREENh$LIGHT_GRAY:$LIGHT_BLUEw$LIGHT_RED->$NO_COLOUR "
}
shell_colored