#!/bin/bash # File to define bash functions. Read by ~/.bashrc. function mount() { if [[ $# == 0 ]] ; then /usr/bin/env mount | column -t else /usr/bin/env mount $* fi } ff() { find . -type f -iname "*"$*"*" ; } ffcs() { find . -type f -name "*"$*"*" ; } extract() # Handy Extract Program. { 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 } update() { sudo bash -c "apt-get update && apt-get -y dist-upgrade && apt-get -y autoremove" } showclock() { while : ; do clear echo "========" date +"%T" echo "========" sleep 1 done } ruler() { for s in '....^....|' '1234567890'; do w=${#s} str=$(for (( i=1; $i<=$(( ($COLUMNS + $w) / $w )) ; i=$i+1 )); do echo -n $s; done ) str=$(echo $str | cut -c -$COLUMNS) echo $str done } up() { [ "${1/[^0-9]/}" == "$1" ] && { local ups="" for i in $(seq 1 $1) do ups=$ups"../" done cd $ups } || echo "usage: up " } ckwww() { ping -c 3 www.google.com } topcmds() { history | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -nr | head } fnottype() { find . -maxdepth 1 ! -type $1 } # simple calculator ? () { echo "$*" | bc -l }