#!/bin/bash # --- # login shell script used by Mario Chamorro : mario@chamorro.us : 617.895.7038 # - # MultiOS MMM [ Linux / FreeBSD / SunOS / CygWin ] section near the end # --- [ $UID -eq 0 ] && PS1="[\H:\w] # " || PS1="[\H:\w] "; PATH=".:~/bin:/m/bin:/n/bin:/sbin:/usr/sbin:${PATH}"; LS_COLORS='no=00:fi=00:di=00;33:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:' [ $UID -eq 0 ] && PS1="\[\033[01;30m\][\[\033[01;33m\]\H\[\033[01;34m\]\[\033[01;30m\]:\[\033[01;33m\]\w\[\033[01;30m\]]\[\033[31m\] #\[\033[00m\] " || PS1="\[\033[01;30m\][\[\033[01;33m\]\H\[\033[01;34m\]\[\033[01;30m\]:\[\033[01;33m\]\w\[\033[01;30m\]]\[\033[00m\] " unalias rm; unalias cp; unalias mv; unalias ls; unalias vi; export TERM=xterm export EDITOR=/usr/bin/vim # --- MMM --- # export MMM_VERSION="Galadriel 2012.0201"; alias mver="echo ${MMM_VERSION}"; alias mmmm='[ -f /m/mario.new ] && . /m/mario.new'; alias ver='uname -a; uptime; [ -e /etc/enterprise-release ] && cat /etc/enterprise-release; [ -e /etc/redhat-release ] && cat /etc/redhat-release; [ -e /etc/oracle-release ] && cat /etc/oracle-release; [ -e /etc/SuSE-release ] && head -n 1 /etc/SuSE-release; [ -e /etc/lsb-release ] && grep ^DISTRIB_DESCRIPTION /etc/lsb-release | cut -d= -f 2; [ -e /etc/debian_version ] && echo "Debian $(cat /etc/debian_version)" ; [ -e /etc/slackware-version ] && cat /etc/slackware-version; [ -e /usr/local/psa/version ] && cat /usr/local/psa/version; echo MMM ${MMM_VERSION}; '; # --- MMM --- # # --- dosix alias md=mkdir; alias rd=rmdir; alias del='rm -i'; alias move='mv -i'; alias mvoe='mv -i'; alias edit=vim; alias cls=clear; # --- directory listings alias ll='ls -al --color'; alias dir='ls -Fla'; alias diri='ls -Failn'; alias dirw='ls -aF'; alias dirp='ls -alF | more'; alias dirs='ls -alR | more'; alias dirad='ls -alF | grep ^d'; alias dirnd='ls -alF | grep -v ^d' alias diral='ls -alF | grep ^l'; alias diraf='ls -alF | grep -v ^d | grep -v ^l' # --- change directory # alias cd 'cd \!*; set prompt="\\! $cwd>" alias cder='cd /etc/rc.d' alias cdei='cd /etc/init.d' alias cderi='cd /etc/rc.d/init.d' alias cder3='cd /etc/rc.d/rc3.d' alias cder5='cd /etc/rc.d/rc5.d' alias cdes='cd /etc/sysconfig' alias cdep='cd /etc/postfix/' alias cdesn='cd /etc/sysconfig/network-scripts' alias cdvlh='cd /var/log/httpd' alias cdmail='cd /var/spool/mail' alias cdpf='cd /var/spool/postfix/' alias cdehc='cd /etc/httpd/conf'; alias cdm='cd /m' alias cdgrad="cd /m/text/grad/hx/"; alias cdhx='cd /m/text/grad/hx' alias cdtrr="cd /m/text/resume/2012" alias cdmm='cd /m/www/main/mmm' alias cdw='cd /m/www/' alias cdwu='cd /m/www/main/mmm' alias cdwo='cd /m/www/main' # --- network commands alias nn='netstat -pantu | fgrep -v TIME_WAIT | sort -nk 5' alias nnnn='netstat -pantu | fgrep ESTABLISHED | sort -nk 5' alias nnll='netstat -pantu | fgrep LISTEN | sort -nk 5' alias nntw='netstat -pantu | fgrep TIME_WAIT | sort -nk 5' alias nnweb='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":80 " | sort -nk 5' alias nnwebs='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":443 " | sort -nk 5' alias nnmail='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":25 " | sort -nk 5' alias nnpop='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":110 " | sort -nk 5' alias nnimap='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":143 " | sort -nk 5' alias nndb='netstat -pantu | fgrep -v TIME_WAIT | fgrep ":3306 " | sort -nk 5' alias nntop='/usr/bin/watch -n 2 -d "netstat -pantu | grep -v TIME_WAIT | sort -nk 5"' alias nntop10='/usr/bin/watch -n 10 -d "netstat -pantu | grep -v TIME_WAIT | sort -nk 5"' alias tt='tracepath'; alias ttt='traceroute'; alias tti='traceroute -I'; alias portscan='/usr/bin/nmap -sS -O -vv' #---- good Unix commands alias uncomment='grep -vE "(^#|^\;|^$|^\\s+#)"' alias rdesk='rdesktop -g 1024x768 -a 16'; alias show='more ~/calendar' alias cx='chmod 755'; alias cz='chmod 644'; alias chmm='chown mchamorro:mchamorro' alias chrr='chown root:root'; # alias date='/bin/date +"%Y %B %d %A %T %Z"'; # alias etad='/bin/date +"%T %A %d %B %Y"'; alias mdate='/bin/date +%Y.%m%d.%H%M.%S'; alias disk='df -m'; alias tmail='tail -n 50 /var/log/maillog'; alias tlog='tail -n 50 /var/log/messages'; alias tsecure='tail -n 50 /var/log/secure'; alias tweba='tail -n 50 /var/log/httpd/access_log'; alias twebe='tail -n 50 /var/log/httpd/error_log'; alias heads='head -n 50'; alias tails='tail -n 50'; alias fff='grep -F -n -i'; alias soso='sort -n -k 5'; alias svsv='/sbin/service'; alias last='/usr/bin/last -n 10'; alias bzip='bzip2 -9' alias bunzip='bunzip2' alias pwdp='pwd -P' alias dug='dig +short' # alias power='apm' alias shares='ipcs | more' alias mem='egrep "(^Mem|^Swap)" /proc/meminfo' alias cpu='grep ^processor /proc/cpuinfo' alias floppy='mount -t vfat /dev/fd0 /a' alias unfloppy='umount /a' alias cdrom='mount -t iso9660 /dev/hdc /b' alias uncdrom='umount /b' # --- general set noclobber set ignoreeof set term=vt100 # ----------------- # # --- functions --- # # ----------------- # # --- show all iptables --- # lsipt() { echo "[ ------------------------------------------------------------------- RAWRAW ]" /sbin/iptables -vnL -t raw echo "[ ------------------------------------------------------------------- NATNAT ]" /sbin/iptables -vnL -t nat echo "[ ------------------------------------------------------------------- MANGLE ]" /sbin/iptables -vnL -t mangle echo "[ ------------------------------------------------------------------- FILTER ]" /sbin/iptables -vnL -t filter echo "[ ------------------------------------------------------------------- XXXXXX ]" } # --- show IP --- # ship () { [ $1 ] && DEVLIST=$1 || DEVLIST=$(ip addr show | grep ^[0-9] | cut -d: -f 2) for DEV in $DEVLIST do IP_ADDR=$(/sbin/ip addr show dev ${DEV} | grep ${DEV}$ | awk '{ print $2 }' | cut -d/ -f 1); RC=$?; [ -z $IP_ADDR ] || echo "${DEV}: ${IP_ADDR}"; done } ship_0() { [ $1 ] && DEVLIST=$1 || DEVLIST=`ls /proc/net/dev_snmp6` for DEV in $DEVLIST do IP_ADDR=`/sbin/ip addr show dev ${DEV} | grep ${DEV}$ | awk '{ print $2 }' | cut -d/ -f 1`; RC=$?; [ -z $IP_ADDR ] || echo "${DEV}: ${IP_ADDR}"; done } # --- make backup of a file --- # mkbk_usage() { echo "mkbk: make numbered backup of file"; echo "" echo "usage: mkbk " } mkbk() { MAX_NUM=100; NUM=0; if [ $1 ] then # - FILENAME=$1 while [ -e $FILENAME.$NUM ] || [ $NUM -ge $MAX_NUM ] do let NUM=$NUM+1; done [ -e $FILENAME.$NUM ] && cp -ia $FILENAME $FILENAME.$(/bin/date +'%Y.%m%d.%H%M') || cp -ia $FILENAME $FILENAME.$NUM else mkbk_usage; fi } # --- MultiOS - MMM OSNAME=`uname` if [ $OSNAME = "Linux" ] then alias copy='cp -i -a'; alias ttop='top -c -d 2'; alias ping='ping -c 3'; alias pig='ping -c 3 mail.chamorro.us'; alias vv='/usr/bin/vim' alias psr='ps -fu root' alias pp='ps -AFl --forest' alias psps='ps -flA --forest'; elif [ $OSNAME = "CYGWIN_NT-5.1" ] then alias ping='ping'; # alias ping='/bin/ping $1 64 3'; alias pig='/bin/ping mail.chamorro.us 64 3'; alias copy='cp -i -a'; alias pp='ps -W'; alias vv='vim'; elif [ $OSNAME = "SunOS" ] then alias ll='ls -alF'; alias pp='ps -Alf'; alias copy='cp -i'; alias vv='/usr/local/bin/vim'; elif [ $OSNAME = "FreeBSD" ] then alias copy='cp -p'; alias ttop='top -CSu'; alias ping='ping -c 3'; alias pig='ping -c 3 mail.chamorro.us'; alias vv='/usr/local/bin/vim'; alias pp='ps -faux'; alias nn='netstat -anf inet'; alias ll='ls -l'; elif [ $OSNAME = "Darwin" ] then alias ll='ls -alF'; alias pp='ps -Al'; alias copy='cp -ia'; alias vv='/usr/bin/vim'; alias pig='ping -c 3 mail.chamorro.us'; alias nn='netstat -anf inet | sort -nk 5'; alias top='top -s 10 -o cpu'; alias wget='curl -O'; ship() { for DEV in $(ifconfig -l); do echo "$DEV : $(ifconfig $DEV | grep "inet " | awk '{ print $2 }')" ; done; }; fi # --- PSA: Plesk System Administrator if [ -e /usr/local/psa/version ] then PATH="${PATH}:/var/qmail/bin/:/usr/local/psa/bin:/usr/local/psa/admin/bin:/usr/local/psa/admin/sbin/"; alias qq='/var/qmail/bin/qmail-qstat'; alias qmh='/var/qmail/bin/qmHandle ' alias cdvh='cd /var/www/vhosts'; alias cdvq='cd /var/qmail/mailnames'; alias cdpsa='cd /usr/local/psa'; alias cdpmail='cd /usr/local/psa/var/log'; alias tpmail='tail -n 50 /usr/local/psa/var/log/maillog'; alias dbdb='mysql -u admin -p`cat /etc/psa/.psa.shadow` psa'; alias dbdbdb='cat /etc/psa/.psa.shadow'; fi # ------------- # # --- final --- # # ------------- # login_date=`date`; echo [ === $login_date === ] [ -x /m/bin/calendar ] && /m/bin/calendar [ -x /m/bin/calendar.script ] && /m/bin/calendar.script # --- NOTES --- # # --- NOTES --- # # --- EOF mario.script --- #