This is a Bash script designed to provide detailed system information in an interactive menu-driven format.
This project was developed in just a few hours as part of a training exercise over the weekend.
- System Information: Displays hostname, kernel version, and distribution details.
- Memory Information: Shows total, used, and available memory.
- CPU Information: Displays CPU model, number of cores, and current usage.
- Load Average: Shows the system's load average.
- Disk Usage: Displays disk usage for all mounted filesystems.
- Network Information: Lists network interfaces and their IP addresses.
- Running Processes: Displays the top 5 processes by CPU usage.
- Open Ports: Lists all open ports and their states.
- Logged-in Users: Shows currently logged-in users.
- System Uptime: Displays the system's uptime.
- Active Services: Lists all running services.
- Interactive Menu: Allows users to select specific information or display all details at once.
- Bash: The script is written in Bash and should be run in a Bash shell.
- Common Linux Utilities: The script relies on standard Linux utilities like
free,lscpu,top,ps,ss,who,systemctl,df,ip, anduptime.
-
Make the script executable:
chmod +x sysinfo.sh
-
Run the script:
./sysinfo.sh
-
Follow the menu prompts:
- The script will display a menu with options to view specific system information or display all details.
- Enter the corresponding number for the information you want to view.
- Press 0 to exit the script.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is open-source under the MIT License.
