██╗ ██╗███╗ ██╗██╗ ██╗██╗ ██╗██████╗ ██╗ ██╗██╗ ███████╗███████╗
██║ ██║████╗ ██║██║ ██║╚██╗██╔╝██╔══██╗██║ ██║██║ ██╔════╝██╔════╝
██║ ██║██╔██╗ ██║██║ ██║ ╚███╔╝ ██████╔╝██║ ██║██║ ███████╗█████╗
██║ ██║██║╚██╗██║██║ ██║ ██╔██╗ ██╔═══╝ ██║ ██║██║ ╚════██║██╔══╝
███████╗██║██║ ╚████║╚██████╔╝██╔╝ ██╗██║ ╚██████╔╝███████╗███████║███████╗
╚══════╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚══════╝╚══════╝
Linux System Intelligence & Administration Framework
LinuxPulse is a single-file Bash toolkit for getting a fast, complete picture of a Linux system's health, security posture, and activity — all from an interactive terminal menu, with no dependencies beyond standard system utilities.
Hostname, kernel, architecture, OS, uptime, CPU, memory, and disk usage at a glance.
Auto-refreshing view (every 2s) of system load, memory, filesystem usage, and top CPU-consuming processes.
Lists top processes by CPU usage, then lets you drill into any PID for its command line, executable path, working directory, and open file descriptors.
- Disk usage by mount point
- Largest directories / largest files in a given path
- Recently modified files
- World-writable files (permission audit)
- SUID/SGID files (privilege escalation audit)
Interfaces, routing table, listening sockets (ss/netstat), and DNS configuration.
Failed systemd services and currently running services.
Recent errors and warnings pulled straight from journalctl.
Currently logged-in users, recent login history, and failed login/authentication attempts parsed from the journal.
- Create Baseline — snapshots hostname, kernel, filesystem, listening sockets, running services, users, and SUID files
- Compare Baseline — diffs the current system state against the saved baseline to surface what changed (new listening ports, new SUID binaries, new users, etc.) — useful for spotting unauthorized changes over time
A 7-step sweep covering disk pressure, world-writable files, SUID files, failed services, listening ports, recent errors, and resource pressure — a fast health/security check in one command.
Compiles system, memory, filesystem, network, process, service, and security data into a single timestamped report file under reports/.
Package cache cleanup (apt/dnf/pacman auto-detected), a scan for large temp files (report-only, nothing is auto-deleted), and filesystem check info.
- Linux with Bash
- Standard utilities:
uname,df,free,ps,ip,ss(ornetstat),find systemd(systemctl,journalctl) for service/log features — the tool detects and gracefully skips these if unavailable- Some scans (world-writable/SUID search, package cache cleanup) benefit from
sudo
git clone https://github.com/Shahzaib/LinuxPulse.git
cd LinuxPulse
chmod +x linuxpulse.sh
./linuxpulse.shRun the script and pick an option from the numbered menu:
[1] System Information
[2] Live Resource Monitor
[3] Process Inspector
[4] Filesystem Analyzer
[5] Network Inspector
[6] Service Inspector
[7] System Log Analyzer
[8] Session Auditor
[9] Security Quick Scan
[10] Create System Baseline
[11] Compare Against Baseline
[12] Generate Full Report
[13] Safe System Actions
[0] Exit
Generated reports are saved to reports/linuxpulse_report.txt in the working directory.
- All destructive-looking actions (temp file scan, package cache clean) either report only or use standard, reversible package-manager commands — nothing is force-deleted without explicit confirmation.
- SUID/world-writable scans walk the filesystem (
find / -xdev ...) so they can take a moment on large systems.
MIT
Built by @Shahzaib — CS student, CCNA instructor, and cybersecurity practitioner focused on practical sysadmin and security tooling.