Linux heeft zoveel prachtige hulpmiddelen. Hun grootste troef is dat je deze hulpmiddelen kan combineren om nieuwe hulpmiddelen te maken. Deze tip handelt over het hulpmiddel sup die je nuttige informatie verschaft over het Linux-systeem waarop je bent ingelogd. Na het openen van diverse terminal vensters en het opstarten van verschillende screen sessies, is het gemakkelijk om te verdwalen in het labyrint van geopende verbindingen en sessies. Het hulpmiddel sup maakt van het labyrint een prachtig overzicht, waardoor je snel terug de touwtjes in handen kunt nemen.
Het hulpmiddel sup is eigenlijk niets anders dan een script, waarin hulpmiddelen om systeemgegevens op te vragen gecombineerd worden met hulpmiddelen om bepaalde informatie uit teksten af te zonderen. Dit script kan eveneens dienen als basis voor andere scripts. Het script in werking:dany@linux-gjso:~> sh sup
<=== SYSTEM ===>
Distro info: Welcome to openSUSE 11.2 "Emerald" - Kernel \r (\l).
Kernel: Linux linux-gjso 2.6.31.12-0.2-desktop #1 SMP PREEMPT 2010-03-16 21:25:39 +0100 x86_64 x86_64 x86_64 GNU/Linux
Uptime: 14:24 up 0:38, 3 gebruikers, gemiddelde belasting: 0,07, 0,08, 0,09
Memory: Total: 8000Mb Used: 1188Mb Free: 6812Mb
Swap: Total: 2047Mb Used: 0Mb Free: 2047Mb
Architecture: x86_64
Processor: 0 : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
Processor: 1 : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
Processor: 2 : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
Processor: 3 : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
Date: vr apr 16 14:24:00 CEST 2010
<=== USER ===>
User: dany (uid:1000)
Groups: users video
Working dir: /home/dany
Home dir: /home/dany
<=== NETWORK ===>
Hostname: linux-gjso
IP (lo): 127.0.0.1/8
IP (lo): 127.0.0.2/8
IP (eth0): 192.168.0.106/24
IP (vmnet1): 172.16.67.1/24
IP (vmnet8): 172.16.10.1/24
Gateway: 192.168.0.1
Name Server: 192.168.0.1
Het script:
#!/bin/bash # ORIGINALLY WRITTEN BY SCOTT MORRIS (http://www.suseblog.com/) on 2008-05-28 # UPDATED AS SUGGESTED BY LONNIE OLSON on 2008-05-30 # COLLECT SOME INFO SYSINFO=`cat /etc/issue | sort | uniq | awk '/[a-zA-Z]/{printf $1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"\n"}'` IFS=$'\n' UPTIME=`uptime` D_UP=${UPTIME:1} MYGROUPS=`groups` DATE=`date` KERNEL=`uname -a` #SYSINFO=`head -n 1 /etc/issue` CPWD=`pwd` ME=`whoami` # OUTPUT THE DATA #printf " user:\t\t"$USER" (uid:"$UID")\n" printf "<=== SYSTEM ===>\n" echo " Distro info: "$SYSINFO"" printf " Kernel:\t"$KERNEL"\n" printf " Uptime:\t"$D_UP"\n" free -mot | awk ' /Mem/{print " Memory:\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb"} /Swap/{print " Swap:\t\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb"}' printf " Architecture:\t"$CPU"\n" cat /proc/cpuinfo | grep "model name\|processor" | awk ' /processor/{printf " Processor:\t" $3 " : " } /model\ name/{ i=4 while(i<=NF){ printf $i if(i<NF){ printf " " } i++ } printf "\n" }' printf " Date:\t\t"$DATE"\n" printf "\n<=== USER ===>\n" printf " User:\t\t"$ME" (uid:"$UID")\n" printf " Groups:\t"$MYGROUPS"\n" printf " Working dir:\t"$CPWD"\n" printf " Home dir:\t"$HOME"\n" printf "\n<=== NETWORK ===>\n" printf " Hostname:\t"$HOSTNAME"\n" ip -o addr | awk '/inet /{print " IP (" $2 "):\t" $4}' /sbin/route -n | awk '/^0.0.0.0/{ printf " Gateway:\t"$2"\n" }' cat /etc/resolv.conf | awk '/^nameserver/{ printf " Name Server:\t" $2 "\n"}' #/sbin/lspci | grep "Audio device:\|VGA compatible" | awk ' #/Audio device/{printf " Audio:\t" #i=4 #while(i<=NF){ # printf $i # if(i<NF){ # printf " " # } # i++ #} #printf "\n" #} #/VGA compatible/{printf " Graphics:\t" #i=5 #while(i<=NF){ # printf $i # if(i<NF){ # printf " " # } # i++ #} #printf "\n" #}'