bash-linux
sickn33/antigravity-awesome-skills
Essential Bash/Linux terminal patterns, commands, and scripting for macOS and Linux systems.
What is bash-linux?
Reference guide for critical Bash commands, piping, process management, and error handling patterns. Use when working on macOS or Linux systems to execute terminal workflows, manage processes, and write safe shell scripts.
- Command chaining with operators (&&, ||, |, ;)
- File operations: listing, finding, searching, and monitoring logs
- Process management: listing, killing, and port management
- Text processing with grep, sed, awk, cut, sort, and uniq
- Environment variable configuration and PATH management
- Network operations: curl requests and port checking
How to install bash-linux
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill bash-linuxHow to use bash-linux
- 1.Reference the operator syntax table when chaining multiple commands
- 2.Use file operations commands (ls, find, grep) to locate and inspect files
- 3.Apply process management commands (ps, kill, lsof) to monitor and control running processes
- 4.Use text processing tools (grep, sed, awk) to extract and transform data
- 5.Set environment variables with export or inline before running commands
- 6.Follow the script template for new shell scripts, including set -euo pipefail for safety
- 7.Use trap cleanup EXIT for resource cleanup in scripts
- 8.Check the error handling section and apply set -e, set -u, set -o pipefail as needed
Use cases
- Automating deployment or build workflows on Linux/macOS servers
- Debugging running processes and killing hung applications on specific ports
- Searching and processing log files or large datasets with grep and text tools
- Writing safe shell scripts with error handling and cleanup routines
- Managing environment variables and PATH configuration across systems
- Backend developers working on Linux/macOS systems
- DevOps engineers managing servers and deployments
- System administrators automating tasks and troubleshooting
- Full-stack developers needing terminal proficiency
- Anyone writing or maintaining shell scripts
bash-linux FAQ
Use && to run the next command only if the previous succeeded (e.g., npm install && npm run dev). Use || to run the next command only if the previous failed (e.g., npm test || echo "Tests failed"). Use ; to run commands sequentially regardless of success.
Start your script with set -euo pipefail. This makes it exit on errors (set -e), undefined variables (set -u), and pipe failures (set -o pipefail). Optionally add set -x for debugging output.
Use lsof -i :PORT to find the process ID, then kill -9 PID to terminate it. Or combine them: kill -9 $(lsof -t -i :3000) to kill the process on port 3000.
Bash pipes are text-based (output is strings), while PowerShell pipes are object-based. In Bash, use grep, sed, and awk to filter and transform text. In PowerShell, you work with objects directly.
Use: while IFS= read -r line; do echo "$line"; done < file.txt. The IFS= prevents leading/trailing whitespace from being trimmed, and -r prevents backslash interpretation.
Full instructions (SKILL.md)
Source of truth, from sickn33/antigravity-awesome-skills.
name: bash-linux description: "Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems." risk: unknown source: community date_added: "2026-02-27"
Bash Linux Patterns
Essential patterns for Bash on Linux/macOS.
1. Operator Syntax
Chaining Commands
| Operator | Meaning | Example |
|---|---|---|
; | Run sequentially | cmd1; cmd2 |
&& | Run if previous succeeded | npm install && npm run dev |
|| | Run if previous failed | npm test || echo "Tests failed" |
| | Pipe output | ls | grep ".js" |
2. File Operations
Essential Commands
| Task | Command |
|---|---|
| List all | ls -la |
| Find files | find . -name "*.js" -type f |
| File content | cat file.txt |
| First N lines | head -n 20 file.txt |
| Last N lines | tail -n 20 file.txt |
| Follow log | tail -f log.txt |
| Search in files | grep -r "pattern" --include="*.js" |
| File size | du -sh * |
| Disk usage | df -h |
3. Process Management
| Task | Command |
|---|---|
| List processes | ps aux |
| Find by name | ps aux | grep node |
| Kill by PID | kill -9 <PID> |
| Find port user | lsof -i :3000 |
| Kill port | kill -9 $(lsof -t -i :3000) |
| Background | npm run dev & |
| Jobs | jobs -l |
| Bring to front | fg %1 |
4. Text Processing
Core Tools
| Tool | Purpose | Example |
|---|---|---|
grep | Search | grep -rn "TODO" src/ |
sed | Replace | sed -i 's/old/new/g' file.txt |
awk | Extract columns | awk '{print $1}' file.txt |
cut | Cut fields | cut -d',' -f1 data.csv |
sort | Sort lines | sort -u file.txt |
uniq | Unique lines | sort file.txt | uniq -c |
wc | Count | wc -l file.txt |
5. Environment Variables
| Task | Command |
|---|---|
| View all | env or printenv |
| View one | echo $PATH |
| Set temporary | export VAR="value" |
| Set in script | VAR="value" command |
| Add to PATH | export PATH="$PATH:/new/path" |
6. Network
| Task | Command |
|---|---|
| Download | curl -O https://example.com/file |
| API request | curl -X GET https://api.example.com |
| POST JSON | curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL |
| Check port | nc -zv localhost 3000 |
| Network info | ifconfig or ip addr |
7. Script Template
#!/bin/bash
set -euo pipefail # Exit on error, undefined var, pipe fail
# Colors (optional)
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
# Script directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Functions
log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1" >&2; }
# Main
main() {
log_info "Starting..."
# Your logic here
log_info "Done!"
}
main "$@"
8. Common Patterns
Check if command exists
if command -v node &> /dev/null; then
echo "Node is installed"
fi
Default variable value
NAME=${1:-"default_value"}
Read file line by line
while IFS= read -r line; do
echo "$line"
done < file.txt
Loop over files
for file in *.js; do
echo "Processing $file"
done
9. Differences from PowerShell
| Task | PowerShell | Bash |
|---|---|---|
| List files | Get-ChildItem | ls -la |
| Find files | Get-ChildItem -Recurse | find . -type f |
| Environment | $env:VAR | $VAR |
| String concat | "$a$b" | "$a$b" (same) |
| Null check | if ($x) | if [ -n "$x" ] |
| Pipeline | Object-based | Text-based |
10. Error Handling
Set options
set -e # Exit on error
set -u # Exit on undefined variable
set -o pipefail # Exit on pipe failure
set -x # Debug: print commands
Trap for cleanup
cleanup() {
echo "Cleaning up..."
rm -f /tmp/tempfile
}
trap cleanup EXIT
Remember: Bash is text-based. Use
&&for success chains,set -efor safety, and quote your variables!
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
More from sickn33/antigravity-awesome-skills and the wider catalog.

bash-pro
'Master of defensive Bash scripting for production automation, CI/CD

bash-scripting
Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

behavioral-modes
AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.

blockchain-developer
Build production-ready Web3 applications, smart contracts, and decentralized systems. Implements DeFi protocols, NFT platforms, DAOs, and enterprise blockchain integrations.

brainstorming
Transform vague ideas into validated designs through structured dialogue before implementation.

browser-automation
Cross-browser automation for testing, scraping, and agent interactions with Playwright and Puppeteer.