SHARE
TWEET

Get PC Specs in Bash

sinisterstuf Oct 29th, 2011 416 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. #This script reports the following specs about your PC:
  4. # -How much space is available on each hard disk drive
  5. # -How much space is used/available on each mounted partition
  6. # -How much memory is available on each RAM device
  7. # -How fast is each CPU core (single core machines only have 1 entry)
  8. # -The name, driver used and memory available from your graphics accelerator
  9.  
  10. #Some of the commands in this script require root privelages, so
  11. #it will display an error if you try to run it as a normal user.
  12.  
  13. #Written by SiƓn le Roux (sion@sionleroux.com)
  14. #This script is in the public domain, but it would be nice if you let
  15. #me know if you like it, or have any suggestions for improvements! :-)
  16.  
  17. #this is a function that outputs all the specs
  18. function check_my_specs() {
  19.     echo
  20.     echo " = PC Specs = "
  21.     echo #check the disk space with fdisk
  22.     echo "== Disk Space =="
  23.     fdisk -l | grep 'Disk .* bytes' | sed 's/, [0-9].*$//'
  24.     echo #check disk usage with df
  25.     echo "== Current Disk Usage =="
  26.     df -h | grep -e "^Filesystem" -e "^\/dev"
  27.     echo #I'm not very familiar with dmidecode but it can get RAM info
  28.     echo "== RAM =="
  29.     counter=0
  30.     dmidecode --type 17 | grep 'Size' | sed 's/^.//' | sed 's/S/s/' | while read -r ram
  31.     do #this for loop is used to display the number before the ram
  32.         counter=`expr $counter + 1`
  33.         echo "Slot "$counter" "$ram
  34.     done
  35.     echo #cpu info is read from /proc/cpu
  36.     echo "== CPU =="
  37.     counter=0
  38.     cat /proc/cpuinfo | grep 'name' | sed 's/.*\: //' | while read -r cpu
  39.     do #this for loop is used to display the number before the cpu core
  40.         counter=`expr $counter + 1`
  41.         echo "Core "$counter": "$cpu
  42.     done
  43.     echo #after the 'subdomain' is found, it is used to get the card info
  44.     echo "== Graphics =="
  45.     lspci -vs `lspci | grep VGA | sed 's/ .*//'` | grep -e "Memory" -e "VGA" -e "Kernel" | sed 's/^.//' | sed 's/^[0-9].*\: //' | sed 's/(.*)//'
  46. }
  47.  
  48. #call the function above if root, otherwise display an error
  49. if [[ $UID -ne 0 ]]
  50. then
  51.     echo "This script needs to be run as root!"
  52. else
  53.     check_my_specs
  54. fi
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top