|
| 1 | +#!/bin/bash |
| 2 | +# Full-featured Linux OS info script with colors |
| 3 | +# Usage: just type 'os' |
| 4 | + |
| 5 | +# Color codes |
| 6 | +GREEN='\033[0;32m' |
| 7 | +CYAN='\033[0;36m' |
| 8 | +YELLOW='\033[1;33m' |
| 9 | +MAGENTA='\033[0;35m' |
| 10 | +RED='\033[0;31m' |
| 11 | +NC='\033[0m' # No Color |
| 12 | + |
| 13 | +echo -e "\n${MAGENTA}===== SYSTEM INFO =====${NC}" |
| 14 | + |
| 15 | +# OS Name & Version |
| 16 | +if [ -f /etc/os-release ]; then |
| 17 | + . /etc/os-release |
| 18 | + echo -e "${GREEN}OS:${NC} ${CYAN}$NAME $VERSION${NC}" |
| 19 | +else |
| 20 | + echo -e "${GREEN}OS:${NC} Unknown" |
| 21 | +fi |
| 22 | + |
| 23 | +# Kernel & Architecture |
| 24 | +echo -e "${GREEN}Kernel:${NC} ${CYAN}$(uname -r)${NC}" |
| 25 | +echo -e "${GREEN}Architecture:${NC} ${CYAN}$(uname -m)${NC}" |
| 26 | + |
| 27 | +# Hostname |
| 28 | +echo -e "${GREEN}Hostname:${NC} ${CYAN}$(hostname)${NC}" |
| 29 | + |
| 30 | +# Uptime |
| 31 | +echo -e "${GREEN}Uptime:${NC} ${CYAN}$(uptime -p)${NC}" |
| 32 | + |
| 33 | +# CPU |
| 34 | +CPU_MODEL=$(lscpu | grep 'Model name' | sed 's/Model name:[ \t]*//') |
| 35 | +CPU_CORES=$(lscpu | grep '^CPU(s):' | awk '{print $2}') |
| 36 | +echo -e "${GREEN}CPU:${NC} ${CYAN}$CPU_MODEL${NC} (${YELLOW}$CPU_CORES cores${NC})" |
| 37 | + |
| 38 | +# Memory |
| 39 | +MEM_TOTAL=$(free -h | awk '/Mem:/ {print $2}') |
| 40 | +MEM_USED=$(free -h | awk '/Mem:/ {print $3}') |
| 41 | +echo -e "${GREEN}Memory:${NC} ${CYAN}$MEM_USED${NC} / ${CYAN}$MEM_TOTAL${NC} used" |
| 42 | + |
| 43 | +# Disk usage (root) |
| 44 | +DISK_TOTAL=$(df -h / | awk 'NR==2{print $2}') |
| 45 | +DISK_USED=$(df -h / | awk 'NR==2{print $3}') |
| 46 | +echo -e "${GREEN}Disk ( / ):${NC} ${CYAN}$DISK_USED${NC} / ${CYAN}$DISK_TOTAL${NC} used" |
| 47 | + |
| 48 | +# IP Address |
| 49 | +IP=$(hostname -I | awk '{print $1}') |
| 50 | +echo -e "${GREEN}IP:${NC} ${CYAN}${IP:-Not available}${NC}" |
| 51 | + |
| 52 | +# VMware Tools IP (optional) |
| 53 | +if command -v vmrun >/dev/null 2>&1; then |
| 54 | + VM_IP=$(vmrun getGuestIPAddress *.vmx 2>/dev/null) |
| 55 | + if [ $? -eq 0 ]; then |
| 56 | + echo -e "${GREEN}VMware Guest IP:${NC} ${CYAN}$VM_IP${NC}" |
| 57 | + fi |
| 58 | +fi |
| 59 | + |
| 60 | +# Docker info |
| 61 | +if command -v docker >/dev/null 2>&1; then |
| 62 | + DOCKER_VERSION=$(docker --version | awk '{print $3}' | sed 's/,//') |
| 63 | + DOCKER_RUNNING=$(docker ps -q | wc -l) |
| 64 | + echo -e "${GREEN}Docker:${NC} ${YELLOW}$DOCKER_VERSION${NC}, Running Containers: ${CYAN}$DOCKER_RUNNING${NC}" |
| 65 | +fi |
| 66 | + |
| 67 | +echo -e "${MAGENTA}========================${NC}\n" |
0 commit comments