The Script
Paste this into syscheck.sh. It runs instantly and requires no additional tools — everything used here is pre-installed on Linux and macOS.
Sample output
=== Quick System Check ===
Host : my-server
Uptime : up 3 days, 4 hours
RAM : 1.2G/2.0G
Disk / : 8.3G/25G
IP : 192.168.1.42
=========================
Step-by-Step Setup
Step 1 — Create the file
Paste the script, then Ctrl+X → Y → Enter to save.
Step 2 — Make it executable
Step 3 — Run it once to confirm it works
You should see your system stats printed cleanly. If uptime -p fails on older systems, see the macOS/compatibility note below.
Step 4 — Alias it for instant access anywhere
This is the step that makes it actually useful. Open your .bashrc (or .zshrc if you use zsh):
Add this line at the bottom:
Save, then reload your shell config:
Now you can type syscheck from anywhere in any terminal session and get your system snapshot instantly.
� Using zsh instead of bash?
Add the alias to ~/.zshrc instead of ~/.bashrc, then run source ~/.zshrc. Everything else stays the same.
Variations
Add CPU load average
Check multiple disks at once
macOS compatible version
The uptime -p flag and hostname -I aren't available on macOS. Use this version instead:
Common Mistakes
uptime -p doesn't exist on macOS or older Linux
The -p flag was added in coreutils 8.24 (2015). On macOS and some minimal containers, it fails silently or errors. Use the macOS variation shown above, or fall back to: uptime | awk '{print $3,$4}' | tr -d ','
hostname -I returns nothing inside Docker containers
Minimal containers often don't have a proper network config for hostname -I. Use: ip route get 1.1.1.1 | awk '{print $7}' as a more reliable fallback for containers and VMs.
Aliasing to .bashrc but using zsh
If your default shell is zsh (common on macOS), aliases in ~/.bashrc won't load. Add the alias to ~/.zshrc instead and run source ~/.zshrc.
Get $200 Free →
View Hosting Plans →
Understanding the Commands
| Command | What it outputs |
|---|---|
| hostname | The machine's hostname — the name it goes by on the network |
| uptime -p | Human-readable uptime: "up 3 days, 4 hours, 12 minutes" |
| free -h | RAM stats in human-readable format (GB/MB) |
awk '/Mem/{print $3"/"$2}' | Extracts used/total from the Mem row of free output |
| df -h / | Disk usage for the root partition in human-readable format |
awk 'NR==2{print $3"/"$2}' | Extracts used/total from the second row of df output |
| hostname -I | All IP addresses for the machine (Linux only) |
awk '{print $1}' | Grabs just the first IP from hostname -I output |
Frequently Asked Questions
How do I check system info in Linux with one command?
Create a bash script that runs hostname, uptime -p, free -h, df -h /, and hostname -I together and formats them cleanly. Save it, make it executable with chmod +x, then alias it in ~/.bashrc so you can call it from anywhere.
How do I check RAM usage in Linux from the terminal?
Run free -h to see total, used, free, and available RAM in human-readable format. To extract just used/total in a script: free -h | awk '/Mem/{print $3"/"$2}'
How do I create a bash alias for a script?
Add alias syscheck='/home/user/syscheck.sh' to your ~/.bashrc file, then run source ~/.bashrc to activate it. After that, typing syscheck in any terminal runs your script instantly.
What command shows uptime in Linux?
Run uptime -p for a clean, human-readable result like "up 3 days, 4 hours, 12 minutes." Running plain uptime shows the same info plus load averages in a slightly different format.
Try the Generator → Browse All Tools