-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgeek.sh
27 lines (24 loc) · 1.05 KB
/
geek.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
# 50-geek - generate the system information
distro=$(lsb_release -s -d)
kernelVersion=$(uname -r)
date=`date`
load=`cat /proc/loadavg | awk '{print $1}'`
ip=`hostname -I`
rootUsage=`df -h / | awk '/\// {print $(NF-1)}'`
memoryUsage=`free | awk '/Mem/{printf("%.2f%"), $3/$2*100} /buffers\/cache/{printf(", buffers: %.2f%"), $4/($3+$4)*100}'`
swapUsage=`free -m | awk '/Swap/ { printf("%3.1f%%", "exit !$2;$3/$2*100") }'`
users=`users | wc -w`
processes=`ps aux | wc -l`
time=`uptime | grep -ohe 'up .*' | sed 's/,/\ hours/g' | awk '{ printf $2" "$3 }'`
[ -f /etc/motd.head ] && cat /etc/motd.head || true
printf "\n"
printf "Welcome on %s (%s %s %s)\n" "${distro}" "$(uname -o)" "${kernelVersion}" "$(uname -m)"
printf "\n"
printf "System information as of: %s\n" "$date"
printf "\n"
printf "System load:\t%s\t\tIP Address:\t%s %s\n" $load $ip
printf "Memory usage:\t%s\t\tSystem uptime:\t%s\n" "$memoryUsage" "$time"
printf "Usage on /:\t%s\t\tSwap usage:\t%s\n" $rootUsage $swapUsage
printf "Local Users:\t%s\t\tProcesses:\t%s\n" $users $processes
printf "\n"