# This is ~/.bashrc file by Mika Suomalainen (Mkaysi) # This file also contains the default things. echo "You must comment lines 4, 5 and 6 in your ~/.bashrc and if you don't live in Finland, you must set correct timezone in line 126. Otherwise you will notice that the 'date' command will give you the current time at Finland ;)" # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # ... or force ignoredups and ignorespace HISTCONTROL=ignoredups:ignorespace # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000 # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' # Add an "alert" alias for long running commands. Use like so: # sleep 10; alert alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi # End of default things. # Start of my additions. # Uses nano as default editor. export EDITOR=nano # Exports my user specifig PYTHONPATH export PYTHONPATH=$HOME/.packages/lib/python2.7/site-packages # Sources my aliases source ~/.bash_aliases # Fixes locale problems when SSHing in with different locale. LC_ALL=C export LC_ALL # Sets correct timezone. NOTICE: You will probably want to change this, unless you live in Finland. export TZ="/usr/share/zoneinfo/Europe/Helsinki" # GEOIP lookup, copied from the ultimate bashrc http://goo.gl/qGK5j function geoip() { geoiplookup $1 } # MYIP, copied from the ultimate bashrc http://goo.gl/qGK5j . I think that it requires lynx. function myip() { lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | awk '{ print $4 }' | sed '/^$/d; s/^[ ]*//g; s/[ ]*$//g' } # Checks which package the command comes from. Copied from the ultimate bashrc http://goo.gl/qGK5j function cmdpkg() { PACKAGE=$(dpkg -S $(which $1) | cut -d':' -f1); echo "[${PACKAGE}]"; dpkg -s "${PACKAGE}" ;} # ROT13, copied from the ultimate bashrc http://goo.gl/qGK5j function rot13() { if [ $# -lt 1 ] || [ $# -gt 1 ]; then echo "Seriously? You don't know what rot13 does?" else echo $@ | tr A-Za-z N-ZA-Mn-za-m fi } # Down for everyone or just me? Copied from the ultimate bashrc http://goo.gl/qGK5j function downforme() { RED='\e[1;31m' GREEN='\e[1;32m' YELLOW='\e[1;33m' NC='\e[0m' if [ $# = 0 ] then echo -e "${YELLOW}usage:${NC} downforme website_url" else JUSTYOUARRAY=(`lynx -dump http://downforeveryoneorjustme.com/$1 | grep -o "It's just you"`) if [ ${#JUSTYOUARRAY} != 0 ] then echo -e "${RED}It's just you. \n${NC}$1 is up." else echo -e "${GREEN}It's not just you! \n${NC}$1 looks down from here." fi fi } # Topt10 commands, copied from the ultimate bashrc http://goo.gl/qGK5j function top10() { # copyright 2007 - 2010 Christopher Bratusek history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head }