Changes

From Amahi Wiki
Jump to: navigation, search
8,927 bytes added ,  17:01, 4 November 2012
Created page with "Use of script files provides many useful results. Below is a small collection that should enhance your command line experience. ==Disk Space== {{Code|#!/bin/bash Black<nowik..."
Use of script files provides many useful results. Below is a small collection that should enhance your command line experience.
==Disk Space==
{{Code|#!/bin/bash

Black<nowiki>=</nowiki>'\e[0;30m'
Blue<nowiki>=</nowiki>'\e[0;34m'
Green<nowiki>=</nowiki>'\e[0;32m'
Cyan<nowiki>=</nowiki>'\e[0;36m'
Red<nowiki>=</nowiki>'\e[0;31m'
Purple<nowiki>=</nowiki>'\e[0;35m'
Brown<nowiki>=</nowiki>'\e[0;33m'
Light_Gray<nowiki>=</nowiki>'\e[0;37m'
Dark_Gray<nowiki>=</nowiki>'\e[1;30m'
Light_Blue<nowiki>=</nowiki>'\e[1;34m'
Light_Green<nowiki>=</nowiki>'\e[1;32m'
Light_Cyan<nowiki>=</nowiki>'\e[1;36m'
Light_Red<nowiki>=</nowiki>'\e[1;31m'
Light_Purple<nowiki>=</nowiki>'\e[1;35m'
Yellow<nowiki>=</nowiki>'\e[1;33m'
White<nowiki>=</nowiki>'\e[1;37m'

Blink<nowiki>=</nowiki>'\033[5m'
Bold<nowiki>=</nowiki>'\033[1m'
Underline<nowiki>=</nowiki>'\033[4m'

No_Color<nowiki>=</nowiki>'\033[0m'

TermSize<nowiki>=</nowiki>`tput cols`

if [ $TermSize -gt "81" ]; then
TermSize<nowiki>=</nowiki>81
fi

function Print {

# Disk I don't care about.
if [ $DISK <nowiki>=</nowiki> "none" ] || [ $DISK <nowiki>=</nowiki> "/dev/sda3" ] || [ $DISK <nowiki>=</nowiki> "/dev/pts" ] || [ $DISK <nowiki>=</nowiki> "/dev/shm" ] || [[ $DISK <nowiki>=</nowiki>~ /dev/sr.* ]]; then
continue
fi

read SIZE USED FREE PERCENT <<< $(df -hP 2> /dev/null|grep $DISK|awk '{print $2" "$3" "$4" "$5}')

PERCENT<nowiki>=</nowiki>$(echo $PERCENT|sed s/%//)

BarSize<nowiki>=</nowiki>$(echo "($PERCENT*($TermSize-3))/100"|bc)


if [ "$PERCENT" -gt "90" ]; then
Color<nowiki>=</nowiki>$Light_Red
elif [ "$PERCENT" -gt "70" ]; then
Color<nowiki>=</nowiki>$Yellow
else
Color<nowiki>=</nowiki>$Light_Green
fi


echo "Partition: $DISK"
#echo
echo -ne "Total size: $SIZE | "
echo -ne "Used space: $USED | "
echo -ne "Free space: ${Color}$FREE${No_Color} | "
echo -ne "Used space percent: $PERCENT%"
echo


echo -ne "["

for i in `seq 1 $BarSize`; do
echo -ne "${Color}#"
echo -ne "${No_Color}"
done

for i in `seq 1 $(echo "$TermSize-$BarSize-3"|bc)`; do
echo -ne "<nowiki>=</nowiki>"
done

echo "]"

echo -ne "${No_Color}"
echo
}

echo

if [ "$1" !<nowiki>=</nowiki> "" ]; then
DISK<nowiki>=</nowiki>$1
Print
else
for DISK in $(mount 2> /dev/null | grep "^/dev/" | awk '{print $1}'); do
Print
done
fi}}
==System Info==
{{Code|#!/bin/sh
# Variables (server default)
TEMP<nowiki>=</nowiki>"0" # 0 for Farenheit, 1 for Celcius
LOCCOD<nowiki>=</nowiki>"95110"
# Find your own LOCCOD (location code) at the end of
# the url here: http://www.accuweather.com/rss-center.asp
# If code has a space; replace with %20
#
# Variables
HOSTNAME<nowiki>=</nowiki>`hostname -f`
IP_ADDRS<nowiki>=</nowiki>`ifconfig <nowiki>|</nowiki> grep 'inet addr' <nowiki>|</nowiki> grep -v '255.0.0.0' <nowiki>|</nowiki> cut -f2 -d':' <nowiki>|</nowiki> awk '{print $1}'`
IP_ADDRS<nowiki>=</nowiki>`echo $IP_ADDRS <nowiki>|</nowiki> sed 's/\n//g'`
CPUS<nowiki>=</nowiki>`cat /proc/cpuinfo <nowiki>|</nowiki> grep processor <nowiki>|</nowiki> wc -l <nowiki>|</nowiki> awk '{print $1}'`
CPU_MHZ<nowiki>=</nowiki>`cat /proc/cpuinfo <nowiki>|</nowiki> grep MHz <nowiki>|</nowiki> tail -n1 <nowiki>|</nowiki> awk '{print $4}'`
CPU_TYPE<nowiki>=</nowiki>`cat /proc/cpuinfo <nowiki>|</nowiki> grep vendor_id <nowiki>|</nowiki> tail -n 1 <nowiki>|</nowiki> awk '{print $3}'`
CPU_TYPE2<nowiki>=</nowiki>`uname -m`
OS_NAME<nowiki>=</nowiki>`uname -s`
OS_KERNEL<nowiki>=</nowiki>`uname -r`
BOOT<nowiki>=</nowiki>`procinfo <nowiki>|</nowiki> grep Bootup <nowiki>|</nowiki> sed 's/Bootup: //g' <nowiki>|</nowiki> cut -f1-6 -d' '`
UPTIME<nowiki>=</nowiki>`uptime <nowiki>|</nowiki>cut -d , -f 1 <nowiki>|</nowiki> cut -c 2-`
PCIINFO<nowiki>=</nowiki>`lspci <nowiki>|</nowiki> cut -f3 -d':'`
# Read and process .motd.conf file and set variables
if [ -s "$HOME/.motd.conf" ] ; then
file<nowiki>=</nowiki>`cat "$HOME/.motd.conf" <nowiki>|</nowiki> grep -Ev '^#' <nowiki>|</nowiki> grep -Ev '^$'`
motd<nowiki>=</nowiki>`echo "$file" <nowiki>|</nowiki> grep -Ei '^motd<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/motd<nowiki>=</nowiki>//i' -re 's/.*(0).*/\1/'`
if [ "$motd" <nowiki>=</nowiki><nowiki>=</nowiki> "0" ] ; then
process<nowiki>=</nowiki>"0"
usage<nowiki>=</nowiki>"0"
weather<nowiki>=</nowiki>"0"
else
process<nowiki>=</nowiki>`echo "$file" <nowiki>|</nowiki> grep -Ei '^process<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/process<nowiki>=</nowiki>//i' -re 's/.*(0).*/\1/'`
usage<nowiki>=</nowiki> `echo "$file" <nowiki>|</nowiki> grep -Ei '^disk usage<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/disk usage<nowiki>=</nowiki>//i' -re 's/.*(0).*/\1/'`
weather<nowiki>=</nowiki>`echo "$file" <nowiki>|</nowiki> grep -Ei '^weather<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/weather<nowiki>=</nowiki>//i' -re 's/.*(0).*/\1/'`
TEMPu<nowiki>=</nowiki>` echo "$file" <nowiki>|</nowiki> grep -Ei '^TEMP<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/TEMP<nowiki>=</nowiki>//i' -re 's/.*([01]).*/\1/'`
LOCCODu<nowiki>=</nowiki>`echo "$file" <nowiki>|</nowiki> grep -Ei '^LOCCOD<nowiki>=</nowiki>.+' <nowiki>|</nowiki> sed -e 's/LOCCOD<nowiki>=</nowiki>//i' -re 's/["?](.+)["?]/\1/'`
if [ $TEMPu !<nowiki>=</nowiki> "" ] ; then
TEMP<nowiki>=</nowiki>"$TEMPu"
fi
if [ $LOCCODu !<nowiki>=</nowiki> "" ] ; then
LOCCOD<nowiki>=</nowiki>"$LOCCODu"
fi
fi
fi
#print it out
echo
echo "\033[0;36mHostname : \033[0;37m$HOSTNAME"
echo "\033[0;36mHost Address(es) : \033[0;37m$IP_ADDRS"
echo "\033[0;36mOS Name : \033[0;37m$OS_NAME"
echo "\033[0;36mKernel Version : \033[0;37m$OS_KERNEL"
echo "\033[0;36mCPU Type : \033[0;37m$CPU_TYPE $CPU_TYPE2 $CPU_MHZ MHz"
echo "\033[0;36mNumber of CPUs : \033[0;37m$CPUS"
# Display Memory Stats
if [ "$memory" !<nowiki>=</nowiki> "0" ] ; then
memory<nowiki>=</nowiki>`free -m`
echo "\033[0;36mMemory MB........: \033[0;37m`echo "$memory" <nowiki>|</nowiki> grep 'Mem: ' \
<nowiki>|</nowiki> awk '{print "Ram used: "$3" free: "$4}'` `echo "$memory" <nowiki>|</nowiki> grep 'Swap: ' \
<nowiki>|</nowiki> awk '{print "Swap used: "$3" free: "$4}'`"
fi
# Display Usage of Home Directory
if [ "$usage" !<nowiki>=</nowiki> "0" ] ; then
du -sh $HOME <nowiki>|</nowiki> awk '{print "\033[0;36mDisk Usage.......: \033[0;37mYou\47re using "$1"B in "$2}'
fi
# Display Processes
if [ "$process" !<nowiki>=</nowiki> "0" ] ; then
# (The 2 at end of the next two lines can be used to subtract out any 'offset')
psa<nowiki>=</nowiki>$((`ps -A h <nowiki>|</nowiki> wc -l`-2))
psu<nowiki>=</nowiki>$((`ps U $USER h <nowiki>|</nowiki> wc -l`-2))
verb<nowiki>=</nowiki>"are"
if [ "$psu" -lt "2" ] ; then
if [ "$psu" -eq "0" ] ; then
psu<nowiki>=</nowiki>None
else
verb<nowiki>=</nowiki>"is"
fi
fi
echo "\033[0;36mProcesses........: \033[0;37m$psu of the $psa running $verb yours."
echo
fi
# Display SSH Logins; System Uptime; System Load
if [ "$LogLoad" !<nowiki>=</nowiki> "0" ] ; then
LogLoad<nowiki>=</nowiki>`uptime`
echo "\033[0;36mBootup : \033[0;37m$BOOT"
# Display System Uptime
echo $LogLoad <nowiki>|</nowiki> grep -Eo 'up .+ user' \
<nowiki>|</nowiki> sed -e 's/:/ hours /' -e 's/ min//' -re 's/^up\s+/\x1b[0;36mUptime...........:\x1b[0;37m /' \
<nowiki>|</nowiki> sed -re 's/,\s+[0-9]+ user$/ minutes/' -e 's/,//g' -e 's/00 minutes//' \
<nowiki>|</nowiki> sed -re 's/0([1-9] minutes)/\1/' -e 's/(1 hour)s/\1/' -e 's/(1 minute)s/\1/'
# Display System Load
echo $LogLoad <nowiki>|</nowiki> grep -Eo 'average: .+' \
<nowiki>|</nowiki> sed -e 's/average:/\x1b[0;36mLoad.............:\x1b[0;37m/' -e 's/,//g' \
<nowiki>|</nowiki> awk '{print $1, $2" (1 minute) "$3" (5 minutes) "$4" (15 minutes)"}'
# Display SSH Logins
echo $LogLoad <nowiki>|</nowiki> grep -Eo '[0-9]+ users?' \
<nowiki>|</nowiki> awk '{print "\033[0;36mSSH Logins.......: \033[0;37m"$1, $2" currently logged in."}'
fi
# last login
lastlog -u $USER <nowiki>|</nowiki> tail -1 <nowiki>|</nowiki> awk '{print "\033[0;36mLast Login.......: \033[0;37m"$4, $5, $6, $7" from "$3}'
# Display Weather
if [ "$weather" !<nowiki>=</nowiki> "0" ] ; then
weather<nowiki>=</nowiki>`curl -s http://rss.accuweather.com/rss/liveweather_rss.asp\?TEMP\<nowiki>=</nowiki>${TEMP}\&locCode\<nowiki>=</nowiki>$LOCCOD \
<nowiki>|</nowiki> grep -E '<description>(Currently<nowiki>|</nowiki>High)' \
<nowiki>|</nowiki> sed -e 's/.*<description>\(.*\)/\1/' -e 's/\(.*\) &lt.*/\1/' -e 's/\(&#176;\)//'`
if [ "`echo "$weather" <nowiki>|</nowiki> wc -l`" -eq "3" ] ; then
echo
echo "\033[0;35mWeather..........: \033[0;37m`echo "$weather" <nowiki>|</nowiki> head -1`"
echo "\033[0;35mToday............: \033[0;37m`echo "$weather" <nowiki>|</nowiki> head -2 <nowiki>|</nowiki> tail -1`"
echo "\033[0;35mTomorrow.........: \033[0;37m`echo "$weather" <nowiki>|</nowiki> tail -1`"
fi
fi
echo}}
12,424

edits